drm/amd/display: Check cursor address before program.
authorYongqiang Sun <[email protected]>
Tue, 17 Oct 2017 18:54:58 +0000 (14:54 -0400)
committerAlex Deucher <[email protected]>
Mon, 4 Dec 2017 21:33:20 +0000 (16:33 -0500)
Program cursor attributes during set mode is only needed
in case of pipe slipt, bottom pipe should be programmed
same as top pipe. Need to program if address is 0.

Signed-off-by: Yongqiang Sun <[email protected]>
Reviewed-by: Tony Cheng <[email protected]>
Acked-by: Harry Wentland <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c

index ac731c46419d323a300556cf85c686ed934eea73..b477a6508db482466da2603fc2c0d58d5946de9d 100644 (file)
@@ -2436,7 +2436,8 @@ static void program_all_pipe_in_tree(
                /* TODO: this is a hack w/a for switching from mpo to pipe split */
                dc_stream_set_cursor_position(pipe_ctx->stream, &position);
 
-               dc_stream_set_cursor_attributes(pipe_ctx->stream,
+               if (pipe_ctx->stream->cursor_attributes.address.quad_part != 0)
+                       dc_stream_set_cursor_attributes(pipe_ctx->stream,
                                &pipe_ctx->stream->cursor_attributes);
 
                if (cur_pipe_ctx->plane_state != pipe_ctx->plane_state) {