drm/amd/display: Add w/a to disable DP dual mode on certain ports

[Why]
Certain ports on DCN3.2 configs do not properly populate the BIOS
info table flag to indicate DP dual mode is unsupported.

[How]
Add a workaround to disable DP dual mode on the ports with the missing
BIOS info table flag.

Reviewed-by: Michael Strauss <Michael.Strauss@amd.com>
Acked-by: Alan Liu <HaoPing.Liu@amd.com>
Signed-off-by: George Shen <george.shen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
George Shen 2023-04-13 19:03:59 -04:00 committed by Alex Deucher
parent 029c85adcc
commit 124155c0bd
3 changed files with 6 additions and 0 deletions

View File

@ -887,6 +887,7 @@ struct dc_debug_options {
bool override_odm_optimization;
bool minimize_dispclk_using_odm;
bool disable_subvp_high_refresh;
bool disable_dp_plus_plus_wa;
};
struct gpu_info_soc_bounding_box_v1_0;

View File

@ -729,6 +729,7 @@ static const struct dc_debug_options debug_defaults_drv = {
.disable_fpo_vactive = false,
.disable_boot_optimizations = false,
.disable_subvp_high_refresh = true,
.disable_dp_plus_plus_wa = true,
};
static const struct dc_debug_options debug_defaults_diags = {

View File

@ -593,6 +593,10 @@ static bool detect_dp(struct dc_link *link,
/* DP SST branch */
link->type = dc_connection_sst_branch;
} else {
if (link->dc->debug.disable_dp_plus_plus_wa &&
link->link_enc->features.flags.bits.IS_UHBR20_CAPABLE)
return false;
/* DP passive dongles */
sink_caps->signal = dp_passive_dongle_detection(link->ddc,
sink_caps,