There's at least two firmware versions on the CalDigit DP20-HDMI21
adapter, which is powered by the ParadeTech PS196G chip. The first version
has a bug where it incorrectly neglects to set the DOWN_STREAM_PORT_PRESENT
field in the DPCD:

$ sudo dpcd_reg read --offset=0x2205 --count=1 --device=0
0x2205:  00
$ sudo dpcd_reg read --offset=0x0005 --count=1 --device=0
0x0005:  00

The newer one fixes this, and with this patch correctly negotiates VRR.

[~]$ sudo dpcd_reg read --offset=0x5 --count=1 --device=2
0x0005:  1d
[~]$ sudo dpcd_reg read --offset=0x2205 --count=1 --device=2
0x2205:  1d

So if you're using a Paradetech adapter and it doesn't negotiate VRR,
check that it has a firmware that produces the correct DPCD.

Signed-off-by: Charles Munger <[email protected]>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
index 6c827e6703a0..f463495d1c87 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c
@@ -1410,6 +1410,7 @@ bool dm_helpers_is_vrr_pcon_allowed(const struct dc_link 
*link, const struct drm
        case DP_BRANCH_DEVICE_ID_00E04C:
        case DP_BRANCH_DEVICE_ID_90CC24:
        case DP_BRANCH_DEVICE_ID_2B02F0:
+       case DP_BRANCH_DEVICE_ID_001CF8:
                return true;
        }
 
-- 
2.54.0

Reply via email to