mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-20 09:59:27 -05:00
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 c536555451 ("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>
This commit is contained in:
committed by
Alex Deucher
parent
b436f1cbed
commit
cf37a5318d
@@ -1219,6 +1219,12 @@ static bool is_dsc_need_re_compute(
|
||||
if (dc_link->type != dc_connection_mst_branch)
|
||||
return false;
|
||||
|
||||
/* add a check for older MST DSC with no virtual DPCDs */
|
||||
if (needs_dsc_aux_workaround(dc_link) &&
|
||||
(!(dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_SUPPORT ||
|
||||
dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_PASSTHROUGH_SUPPORT)))
|
||||
return false;
|
||||
|
||||
for (i = 0; i < MAX_PIPES; i++)
|
||||
stream_on_link[i] = NULL;
|
||||
|
||||
@@ -1240,12 +1246,8 @@ static bool is_dsc_need_re_compute(
|
||||
continue;
|
||||
|
||||
/*
|
||||
* Check if cached virtual MST DSC caps are available and DSC is supported
|
||||
* this change takes care of newer MST DSC capable devices that report their
|
||||
* DPCD caps as per specifications in their Virtual DPCD registers.
|
||||
|
||||
* TODO: implement the check for older MST DSC devices that do not conform to
|
||||
* specifications.
|
||||
* check if cached virtual MST DSC caps are available and DSC is supported
|
||||
* as per specifications in their Virtual DPCD registers.
|
||||
*/
|
||||
if (!(aconnector->dc_sink->dsc_caps.dsc_dec_caps.is_dsc_supported ||
|
||||
aconnector->dc_link->dpcd_caps.dsc_caps.dsc_basic_caps.fields.dsc_support.DSC_PASSTHROUGH_SUPPORT))
|
||||
|
||||
Reference in New Issue
Block a user