From: Zhongwei Zhang <zhongwei.zh...@amd.com>

[Why]
Only OLED panels require non-zero pre_T11_delay defaultly.
Others should be controlled by power sequence.

[How]
For non OLED, pre_T11_delay delay in code should be zero.
Also post_T7_delay.

Cc: Mario Limonciello <mario.limoncie...@amd.com>
Cc: Alex Deucher <alexander.deuc...@amd.com>
Cc: sta...@vger.kernel.org
Reviewed-by: Charlene Liu <charlene....@amd.com>
Signed-off-by: Zhongwei Zhang <zhongwei.zh...@amd.com>
Signed-off-by: Wayne Lin <wayne....@amd.com>
---
 drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
index 28f37437176e..a8174669bc49 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
@@ -953,8 +953,8 @@ void dce110_edp_backlight_control(
        struct dc_context *ctx = link->ctx;
        struct bp_transmitter_control cntl = { 0 };
        uint8_t pwrseq_instance = 0;
-       unsigned int pre_T11_delay = OLED_PRE_T11_DELAY;
-       unsigned int post_T7_delay = OLED_POST_T7_DELAY;
+       unsigned int pre_T11_delay = (link->dpcd_sink_ext_caps.bits.oled ? 
OLED_PRE_T11_DELAY : 0);
+       unsigned int post_T7_delay = (link->dpcd_sink_ext_caps.bits.oled ? 
OLED_POST_T7_DELAY : 0);
 
        if (dal_graphics_object_id_get_connector_id(link->link_enc->connector)
                != CONNECTOR_ID_EDP) {
@@ -1070,7 +1070,8 @@ void dce110_edp_backlight_control(
        if (!enable) {
                /*follow oem panel config's requirement*/
                pre_T11_delay += link->panel_config.pps.extra_pre_t11_ms;
-               msleep(pre_T11_delay);
+               if (pre_T11_delay)
+                       msleep(pre_T11_delay);
        }
 }
 
-- 
2.43.0

Reply via email to