drm/amd/display: add monitor patch to add T7 delay
authorAnthony Koo <anthony.koo@amd.com>
Wed, 12 Jun 2019 20:30:15 +0000 (16:30 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Jul 2019 19:18:09 +0000 (14:18 -0500)
[Why]
Specifically to one panel,
TCON is able to accept active video signal quickly, but
the Source Driver requires 2-3 frames of extra time.

It is a Panel issue since TCON needs to take care of
all Sink requirements including Source Driver. But in
this case it does not.

Customer is asking to add fixed T7 delay as panel
workaround.

[How]
Add monitor specific patch to add T7 delay

Signed-off-by: Anthony Koo <anthony.koo@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@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_hwss.c
drivers/gpu/drm/amd/display/dc/dc_types.h

index 46257f0..878f47b 100644 (file)
@@ -162,6 +162,10 @@ bool edp_receiver_ready_T7(struct dc_link *link)
                        break;
                udelay(25); //MAx T7 is 50ms
        } while (++tries < 300);
+
+       if (link->local_sink->edid_caps.panel_patch.extra_t7_ms > 0)
+               udelay(link->local_sink->edid_caps.panel_patch.extra_t7_ms * 1000);
+
        return result;
 }
 
index 6eabb64..ce6d73d 100644 (file)
@@ -202,6 +202,7 @@ struct dc_panel_patch {
        unsigned int dppowerup_delay;
        unsigned int extra_t12_ms;
        unsigned int extra_delay_backlight_off;
+       unsigned int extra_t7_ms;
 };
 
 struct dc_edid_caps {