From dabb3979e1cdfddbc9121116cfcf69f01991e51d Mon Sep 17 00:00:00 2001 From: Yongqiang Sun Date: Mon, 27 Mar 2017 09:59:38 -0400 Subject: [PATCH] drm/amd/display: Fix MPO exit and cursor issue. Signed-off-by: Yongqiang Sun Acked-by: Harry Wentland Reviewed-by: Tony Cheng Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 5 ++++- drivers/gpu/drm/amd/display/dc/dc.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c index 512a53bdc32f..bf209f7bbf98 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c @@ -215,7 +215,7 @@ bool dc_stream_set_cursor_attributes( bool dc_stream_set_cursor_position( const struct dc_stream *dc_stream, - const struct dc_cursor_position *position) + struct dc_cursor_position *position) { int i; struct core_stream *stream; @@ -251,6 +251,9 @@ bool dc_stream_set_cursor_position( .h_scale_ratio = pipe_ctx->scl_data.ratios.horz, }; + if (pipe_ctx->top_pipe && pipe_ctx->surface != pipe_ctx->top_pipe->surface) + position->enable = false; + ipp->funcs->ipp_cursor_set_position(ipp, position, ¶m); ret = true; } diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h index b3d5b922aae4..0731045f6084 100644 --- a/drivers/gpu/drm/amd/display/dc/dc.h +++ b/drivers/gpu/drm/amd/display/dc/dc.h @@ -744,7 +744,7 @@ bool dc_stream_set_cursor_attributes( bool dc_stream_set_cursor_position( const struct dc_stream *stream, - const struct dc_cursor_position *position); + struct dc_cursor_position *position); /* Newer interfaces */ struct dc_cursor { -- 2.30.2