drm/amd/display: Update HDMI hang w/a to apply to all TMDS signals
authorMichael Strauss <michael.strauss@amd.com>
Fri, 13 Dec 2019 16:52:24 +0000 (11:52 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 16 Jan 2020 19:11:39 +0000 (14:11 -0500)
[WHY]
48mhz turn off feature does not work on HDMI and DVI, but the feauture
was only blocked on HDMI, this change will apply the same wa on DVI

[HOW]
Apply workaround for all TMDS signal types (HDMI, DVI single/dual link)

Signed-off-by: Michael Strauss <michael.strauss@amd.com>
Reviewed-by: Eric Yang <eric.yang2@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c

index ffed720..7ae4c06 100644 (file)
@@ -59,14 +59,16 @@ int rn_get_active_display_cnt_wa(
                struct dc_state *context)
 {
        int i, display_count;
-       bool hdmi_present = false;
+       bool tmds_present = false;
 
        display_count = 0;
        for (i = 0; i < context->stream_count; i++) {
                const struct dc_stream_state *stream = context->streams[i];
 
-               if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A)
-                       hdmi_present = true;
+               if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A ||
+                               stream->signal == SIGNAL_TYPE_DVI_SINGLE_LINK ||
+                               stream->signal == SIGNAL_TYPE_DVI_DUAL_LINK)
+                       tmds_present = true;
        }
 
        for (i = 0; i < dc->link_count; i++) {
@@ -85,7 +87,7 @@ int rn_get_active_display_cnt_wa(
        }
 
        /* WA for hang on HDMI after display off back back on*/
-       if (display_count == 0 && hdmi_present)
+       if (display_count == 0 && tmds_present)
                display_count = 1;
 
        return display_count;