aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch
new file mode 100644
index 00000000..42de4087
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3062-drm-amd-display-Clear-FEC_READY-shadow-register-if-D.patch
@@ -0,0 +1,36 @@
+From 533cd145e9b688d42573bf0ea16e51e1c20274b6 Mon Sep 17 00:00:00 2001
+From: Nikola Cornij <nikola.cornij@amd.com>
+Date: Tue, 25 Jun 2019 17:19:25 -0400
+Subject: [PATCH 3062/4256] drm/amd/display: Clear FEC_READY shadow register if
+ DPCD write fails
+
+[why]
+As a fail-safe, in case 'set FEC_READY' DPCD write fails, a HW shadow
+register should be cleared and the internal FEC stat should be set to
+'not ready'. This is to make sure HW settings will be consistent with
+FEC_READY state on the RX.
+
+Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
+Reviewed-by: Joshua Aberback <Joshua.Aberback@amd.com>
+Acked-by: Chris Park <Chris.Park@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+index 5c8e3318239c..b512fecae061 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+@@ -3174,6 +3174,8 @@ void dp_set_fec_ready(struct dc_link *link, bool ready)
+ link_enc->funcs->fec_set_ready(link_enc, true);
+ link->fec_state = dc_link_fec_ready;
+ } else {
++ link->link_enc->funcs->fec_set_ready(link->link_enc, false);
++ link->fec_state = dc_link_fec_not_ready;
+ dm_error("dpcd write failed to set fec_ready");
+ }
+ } else if (link->fec_state == dc_link_fec_ready) {
+--
+2.17.1
+