diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch new file mode 100644 index 00000000..36b24de9 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch @@ -0,0 +1,49 @@ +From bab52b2a79a219932a497777198c86614a467849 Mon Sep 17 00:00:00 2001 +From: Samson Tam <Samson.Tam@amd.com> +Date: Tue, 4 Jun 2019 15:52:59 -0400 +Subject: [PATCH 3024/4256] drm/amd/display: skip retrain in + dc_link_set_preferred_link_settings() if using passive dongle + +[Why] +Fixes issue when we have a display connected using a passive +dongle and then emulate over it using a DP connection at 1 x 1.62 Ghz. +System hangs because register bus returns back 0xFFFFFFFF for all +register reads after setting register DIG_BE_CNTL in +dcn10_link_encoder_connect_dig_be_to_fe(). Hang occurs later +when trying to do a register read. + +[How] +At the start of the emulation, dc_link_set_preferred_link_settings() +and dp_retrain_link_dp_test() is called, even though it is connected +using a passive dongle. + +Add an extra condition in dp_retrain_link_dp_test() to check for +link->dongle_max_pix_clk > 0. This is the only way we know if the +connection is using passive dongle so we don't retrain DP. + +Signed-off-by: Samson Tam <Samson.Tam@amd.com> +Reviewed-by: Jun Lei <Jun.Lei@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +index accd0f72e03f..551fff68a5dc 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -2998,8 +2998,10 @@ void dc_link_set_preferred_link_settings(struct dc *dc, + + /* Retrain with preferred link settings only relevant for + * DP signal type ++ * Check for non-DP signal or if passive dongle present + */ +- if (!dc_is_dp_signal(link->connector_signal)) ++ if (!dc_is_dp_signal(link->connector_signal) || ++ link->dongle_max_pix_clk > 0) + return; + + for (i = 0; i < MAX_PIPES; i++) { +-- +2.17.1 + |