drm/amd/display: Check cursor address before program.
authorYongqiang Sun <yongqiang.sun@amd.com>
Tue, 17 Oct 2017 18:54:58 +0000 (14:54 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
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 <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
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) {