From: Wenjing Liu Date: Fri, 13 Dec 2019 16:54:29 +0000 (-0500) Subject: drm/amd/display: wait for update when setting dpg test pattern X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ed581a0ace44fc4f454e7765a1625a46258080c7;p=linux.git drm/amd/display: wait for update when setting dpg test pattern Test pattern should be applied to hardware when exiting set test pattern function. Signed-off-by: Wenjing Liu Reviewed-by: Nikola Cornij Acked-by: Harry Wentland Acked-by: Rodrigo Siqueira Signed-off-by: Alex Deucher --- 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 f703b3998644e..e415f7730f43c 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 @@ -3611,6 +3611,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: @@ -3646,6 +3647,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, @@ -3654,6 +3661,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;