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
