Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Fix DFPstate hang due to view port changed

[Why]
Place the cursor in the center of screen between two pipes then
adjusting the viewport but cursour doesn't update cause DFPstate hang.

[How]
If viewport changed, update cursor as well.

Cc: stable@vger.kernel.org
Signed-off-by: Paul Hsieh <paul.hsieh@amd.com>
Reviewed-by: Aric Cyr <Aric.Cyr@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Paul Hsieh and committed by
Alex Deucher
8e80d482 42f8c416

+2 -2
+2 -2
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
··· 1457 1457 1458 1458 /* Any updates are handled in dc interface, just need to apply existing for plane enable */ 1459 1459 if ((pipe_ctx->update_flags.bits.enable || pipe_ctx->update_flags.bits.opp_changed || 1460 - pipe_ctx->update_flags.bits.scaler || pipe_ctx->update_flags.bits.viewport) 1461 - && pipe_ctx->stream->cursor_attributes.address.quad_part != 0) { 1460 + pipe_ctx->update_flags.bits.scaler || viewport_changed == true) && 1461 + pipe_ctx->stream->cursor_attributes.address.quad_part != 0) { 1462 1462 dc->hwss.set_cursor_position(pipe_ctx); 1463 1463 dc->hwss.set_cursor_attribute(pipe_ctx); 1464 1464