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>pull/1279/head
parent
592ddac93f
commit
01f60348d8
|
|
@ -956,7 +956,7 @@ enum dc_status dcn20_enable_stream_timing(
|
||||||
return DC_ERROR_UNEXPECTED;
|
return DC_ERROR_UNEXPECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
hws->funcs.wait_for_blank_complete(pipe_ctx->stream_res.opp);
|
fsleep(stream->timing.v_total * (stream->timing.h_total * 10000u / stream->timing.pix_clk_100hz));
|
||||||
|
|
||||||
params.vertical_total_min = stream->adjust.v_total_min;
|
params.vertical_total_min = stream->adjust.v_total_min;
|
||||||
params.vertical_total_max = stream->adjust.v_total_max;
|
params.vertical_total_max = stream->adjust.v_total_max;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue