aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch
new file mode 100644
index 00000000..97603489
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4917-drm-amd-display-Patch-for-extend-time-to-panel-power.patch
@@ -0,0 +1,57 @@
+From d104c169112f1a5d885dc6a8f8a015d058d13f44 Mon Sep 17 00:00:00 2001
+From: Hugo Hu <hugo.hu@amd.com>
+Date: Fri, 15 Jun 2018 15:49:55 -0400
+Subject: [PATCH 4917/5725] drm/amd/display: Patch for extend time to panel
+ poweron.
+
+[WHY]
+In eDP spec, the min duration in LCDVDD on-off-on sequence should be
+500ms, some BOE panels need 700ms to pass.
+[HOW]
+Add patch to wait more time when eDP power on.
+
+Signed-off-by: Hugo Hu <hugo.hu@amd.com>
+Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
+Acked-by: Harry Wentland <harry.wentland@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dc_types.h | 1 +
+ drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 9 ++++++---
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h
+index 59bf0d5..58a6ef8 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
++++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
+@@ -192,6 +192,7 @@ union display_content_support {
+
+ struct dc_panel_patch {
+ unsigned int dppowerup_delay;
++ unsigned int extra_t12_ms;
+ };
+
+ struct dc_edid_caps {
+diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+index b0bcc9a..286b6071 100644
+--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
+@@ -871,10 +871,13 @@ void hwss_edp_power_control(
+ unsigned long long wait_time_ms = 0;
+
+ /* max 500ms from LCDVDD off to on */
++ unsigned long long edp_poweroff_time_ms =
++ 500 + link->local_sink->edid_caps.panel_patch.extra_t12_ms;
++
+ if (link->link_trace.time_stamp.edp_poweroff == 0)
+- wait_time_ms = 500;
+- else if (duration_in_ms < 500)
+- wait_time_ms = 500 - duration_in_ms;
++ wait_time_ms = edp_poweroff_time_ms;
++ else if (duration_in_ms < edp_poweroff_time_ms)
++ wait_time_ms = edp_poweroff_time_ms - duration_in_ms;
+
+ if (wait_time_ms) {
+ msleep(wait_time_ms);
+--
+2.7.4
+