From: Wenjing Liu <[email protected]>

Test pattern should be applied to hardware when exiting set test pattern
function.

Signed-off-by: Wenjing Liu <[email protected]>
Reviewed-by: Nikola Cornij <[email protected]>
Acked-by: Harry Wentland <[email protected]>
Acked-by: Rodrigo Siqueira <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index 0d0507cc9bf9..46f16a77e3a4 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -3612,6 +3612,7 @@ static void set_crtc_test_pattern(struct dc_link *link,
                        struct pipe_ctx *odm_pipe;
                        enum controller_dp_color_space controller_color_space;
                        int opp_cnt = 1;
+                       uint8_t count = 0;
 
                        switch (test_pattern_color_space) {
                        case DP_TEST_PATTERN_COLOR_SPACE_RGB:
@@ -3647,6 +3648,12 @@ static void set_crtc_test_pattern(struct dc_link *link,
                                        NULL,
                                        width,
                                        height);
+                               /* wait for dpg to blank pixel data with test 
pattern */
+                               for (count = 0; count < 1000; count++)
+                                       if 
(odm_opp->funcs->dpg_is_blanked(odm_opp))
+                                               break;
+                                       else
+                                               udelay(100);
                        }
                        opp->funcs->opp_set_disp_pattern_generator(opp,
                                controller_test_pattern,
@@ -3655,6 +3662,12 @@ static void set_crtc_test_pattern(struct dc_link *link,
                                NULL,
                                width,
                                height);
+                       /* wait for dpg to blank pixel data with test pattern */
+                       for (count = 0; count < 1000; count++)
+                               if (opp->funcs->dpg_is_blanked(opp))
+                                       break;
+                               else
+                                       udelay(100);
                }
        }
        break;
-- 
2.24.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to