aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch
new file mode 100644
index 00000000..61c95bd1
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/0963-drm-amd-display-Wait-edp-HPD-to-high-in-detect_sink.patch
@@ -0,0 +1,42 @@
+From 9c90da6d6474d37b86042d5c8fbc23a668adc987 Mon Sep 17 00:00:00 2001
+From: Dale Zhao <dale.zhao@amd.com>
+Date: Thu, 22 Nov 2018 17:13:46 +0800
+Subject: [PATCH 0963/2940] drm/amd/display: Wait edp HPD to high in
+ detect_sink
+
+[Why]
+In 99% user case, edp will be post by vbios.
+In 1% / current case: Lenovo don't light up edp panel in vbios
+post stage, vbios won't be lit up. Thus in dal when we init DCN
+10 hw, we power up edp, then we start detect_sink, but internal
+time is too short, when we detect it, HPD is still low, so we don't
+detect the edp, and edp shows black.
+
+[How]
+When we init hw, we wait edp HPD to high after power up edp.
+
+Signed-off-by: Dale Zhao <dale.zhao@amd.com>
+Reviewed-by: Eric Yang <eric.yang2@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+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 9d99cdc14b49..1bebb60ac629 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -215,6 +215,9 @@ bool dc_link_detect_sink(struct dc_link *link, enum dc_connection_type *type)
+ return true;
+ }
+
++ if (link->connector_signal == SIGNAL_TYPE_EDP)
++ link->dc->hwss.edp_wait_for_hpd_ready(link, true);
++
+ /* todo: may need to lock gpio access */
+ hpd_pin = get_hpd_gpio(link->ctx->dc_bios, link->link_id, link->ctx->gpio_service);
+ if (hpd_pin == NULL)
+--
+2.17.1
+