]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Oct 2019 16:58:31 +0000 (18:58 +0200)
[ Upstream commit 88eac241a1fc500ce5274a09ddc4bd5fc2b5adb6 ]

[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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c
drivers/gpu/drm/amd/display/dc/dc_types.h

index b0dea759cd8600992a854ee4585398f85b1cb7a1..8aecf044e2ae866d1ea5c26454fcafcf46f91be9 100644 (file)
@@ -154,6 +154,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 6c2a3d9a4c2e75ddb4ac8d06559816ec8e8360e5..283082666be51939b25ab668b0f7943417e7fc59 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 {