Skip to content

Commit 01f6034

Browse files
Wen Chenalexdeucher
authored andcommitted
drm/amd/display: Fix 'failed to blank crtc!'
[why] DCN35 is having “DC: failed to blank crtc!” when running HPO test cases. It's caused by not having sufficient udelay time. [how] Replace the old wait_for_blank_complete function with fsleep function to sleep just until the next frame should come up. This way it doesn't poll in case the pixel clock or other clock was bugged or until vactive and the vblank are hit again. Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Signed-off-by: Wen Chen <Wen.Chen3@amd.com> Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 592ddac commit 01f6034

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@ enum dc_status dcn20_enable_stream_timing(
956956
return DC_ERROR_UNEXPECTED;
957957
}
958958

959-
hws->funcs.wait_for_blank_complete(pipe_ctx->stream_res.opp);
959+
fsleep(stream->timing.v_total * (stream->timing.h_total * 10000u / stream->timing.pix_clk_100hz));
960960

961961
params.vertical_total_min = stream->adjust.v_total_min;
962962
params.vertical_total_max = stream->adjust.v_total_max;

0 commit comments

Comments
 (0)