diff options
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.patch | 42 |
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 + |