Due to panel characteristics, when the panel wakes up from the S3, the
main link data is not yet ready when the backlight turns on, causing
a garbage appearance on the screen. Delaying the backlight by 1000ms
can avoid this issue.

Signed-off-by: Haikun Zhou <[email protected]>
---
 drivers/gpu/drm/panel/panel-edp.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-edp.c 
b/drivers/gpu/drm/panel/panel-edp.c
index d1b01d66eb9d1..58124fd381f26 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1932,6 +1932,12 @@ static const struct panel_delay delay_200_500_e80 = {
        .enable = 80,
 };
 
+static const struct panel_delay delay_200_500_e1000 = {
+       .hpd_absent = 200,
+       .unprepare = 500,
+       .enable = 1000,
+};
+
 static const struct panel_delay delay_200_500_e80_d50 = {
        .hpd_absent = 200,
        .unprepare = 500,
@@ -2162,7 +2168,7 @@ static const struct edp_panel_entry edp_panels[] = {
        EDP_PANEL_ENTRY('K', 'D', 'C', 0x0397, &delay_200_500_e50, 
"KD116N3730A12"),
        EDP_PANEL_ENTRY('K', 'D', 'C', 0x044f, &delay_200_500_e50, 
"KD116N9-30NH-F3"),
        EDP_PANEL_ENTRY('K', 'D', 'C', 0x05f1, &delay_200_500_e80_d50, 
"KD116N5-30NV-G7"),
-       EDP_PANEL_ENTRY('K', 'D', 'C', 0x0809, &delay_200_500_e50, 
"KD116N2930A15"),
+       EDP_PANEL_ENTRY('K', 'D', 'C', 0x0809, &delay_200_500_e1000, 
"KD116N2930A15"),
        EDP_PANEL_ENTRY('K', 'D', 'C', 0x1220, &delay_200_500_e50, 
"KD116N3730A05"),
 
        EDP_PANEL_ENTRY('L', 'G', 'D', 0x0000, &delay_200_500_e200_d200, 
"Unknown"),
-- 
2.34.1

Reply via email to