summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDale Zhao <dale.zhao@amd.com>2018-11-22 10:13:46 +0100
committerAlex Deucher <alexander.deucher@amd.com>2018-12-19 00:25:12 +0100
commit0a6414e75d231ee1bb7ffb2f5eb246b682a884cd (patch)
treec740678c066e6967225b1ff2f4e8819a9e6a4371
parentdrm/amd/display: fix surface update sequence (diff)
downloadlinux-0a6414e75d231ee1bb7ffb2f5eb246b682a884cd.tar.xz
linux-0a6414e75d231ee1bb7ffb2f5eb246b682a884cd.zip
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>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link.c3
1 files changed, 3 insertions, 0 deletions
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 4dc5846de5c4..564f140d4e60 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)