Skip to content

Commit cf37a53

Browse files
Agustin Gutierrezalexdeucher
authored andcommitted
drm/amd/display: MST DSC check for older devices
[Why] Some older MST hubs do not report DPCD registers according to specification. [How] This change re-applies commit c536555 ("drm/amd/display: dsc mst re-compute pbn for changes on hub"). With an additional check for these older MST devices. Reviewed-by: Swapnil Patel <swapnil.patel@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Agustin Gutierrez <agustin.gutierrez@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent b436f1c commit cf37a53

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,6 +1219,12 @@ static bool is_dsc_need_re_compute(
12191219
if (dc_link->type != dc_connection_mst_branch)
12201220
return false;
12211221

1222+
/* add a check for older MST DSC with no virtual DPCDs */
1223+
if (needs_dsc_aux_workaround(dc_link) &&
1224+
(!(dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT ||
1225+
dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_PASSTHROUGH_SUPPORT)))
1226+
return false;
1227+
12221228
for (i = 0; i < MAX_PIPES; i++)
12231229
stream_on_link[i] = NULL;
12241230

@@ -1240,12 +1246,8 @@ static bool is_dsc_need_re_compute(
12401246
continue;
12411247

12421248
/*
1243-
* Check if cached virtual MST DSC caps are available and DSC is supported
1244-
* this change takes care of newer MST DSC capable devices that report their
1245-
* DPCD caps as per specifications in their Virtual DPCD registers.
1246-
1247-
* TODO: implement the check for older MST DSC devices that do not conform to
1248-
* specifications.
1249+
* check if cached virtual MST DSC caps are available and DSC is supported
1250+
* as per specifications in their Virtual DPCD registers.
12491251
*/
12501252
if (!(aconnector->dc_sink->dsc_caps.dsc_dec_caps.is_dsc_supported ||
12511253
aconnector->dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_PASSTHROUGH_SUPPORT))

0 commit comments

Comments
 (0)