]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Fix DPIA number and driver ID field issue
authorCruise Hung <Cruise.Hung@amd.com>
Tue, 10 Feb 2026 09:40:42 +0000 (17:40 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 23 Feb 2026 19:39:31 +0000 (14:39 -0500)
[Why]
The DPIA number field is 6 bits in the spec.
In dp_type, it only defines 5 bits.
The driver ID is only 4 bits in the spec.

[How]
Set DPIA number field size to 6.
And only update 4 bits for driver id.

Reviewed-by: Meenakshikumar Somasundaram <meenakshikumar.somasundaram@amd.com>
Signed-off-by: Cruise Hung <Cruise.Hung@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dc_dp_types.h
drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_dpia.c

index 5e3646b7550c12e3cae7b63c5e1a0b2c09f75e73..9540f0ead27942a2a765df15c492b9d218c7d9d7 100644 (file)
@@ -947,8 +947,8 @@ union dp_tun_cap_support {
 /* DPCD[0xE000E] DP_IN_ADAPTER_INFO register. */
 union dpia_info {
        struct {
-               uint8_t dpia_num :5;
-               uint8_t rsvd :3;
+               uint8_t dpia_num :6;
+               uint8_t rsvd :2;
        } bits;
        uint8_t raw;
 };
index 9b2f1a7da1d12f67c974f3a94e259d7d63cbdb96..766b54631c79855863365fa5a40553299fdf6db1 100644 (file)
@@ -71,7 +71,7 @@ enum dc_status dpcd_get_tunneling_device_data(struct dc_link *link)
        link->dpcd_caps.usb4_dp_tun_info.dpia_info.raw =
                        dpcd_dp_tun_data[DP_IN_ADAPTER_INFO - DP_TUNNELING_CAPABILITIES_SUPPORT];
        link->dpcd_caps.usb4_dp_tun_info.usb4_driver_id =
-                       dpcd_dp_tun_data[DP_USB4_DRIVER_ID - DP_TUNNELING_CAPABILITIES_SUPPORT];
+                       dpcd_dp_tun_data[DP_USB4_DRIVER_ID - DP_TUNNELING_CAPABILITIES_SUPPORT] & 0x0F;
 
        if (link->dpcd_caps.usb4_dp_tun_info.dp_tun_cap.bits.dpia_bw_alloc) {
                status = core_link_read_dpcd(link, USB4_DRIVER_BW_CAPABILITY,