drm/amd/display: fix cursor offset on rotation 180
commit49d0555976
upstream. Cursor gets clipped off in the middle of the screen with hw rotation 180. Fix a miscalculation of cursor offset when it's placed near the edges in the pipe split case. Cursor bugs with hw rotation were reported on AMD issue tracker: https://gitlab.freedesktop.org/drm/amd/-/issues/2247 The issues on rotation 270 was fixed by: https://lore.kernel.org/amd-gfx/20221118125935.4013669-22-Brian.Chang@amd.com/ that partially addressed the rotation 180 too. So, this patch is the final bits for rotation 180. Reported-by: Xaver Hugl <xaver.hugl@gmail.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Fixes:9d84c7ef8a
("drm/amd/display: Correct cursor position on horizontal mirror") Signed-off-by: Melissa Wen <mwen@igalia.com> Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8d81e1c686
commit
5af27a53a8
@ -3612,7 +3612,7 @@ void dcn10_set_cursor_position(struct pipe_ctx *pipe_ctx)
|
|||||||
(int)hubp->curs_attr.width || pos_cpy.x
|
(int)hubp->curs_attr.width || pos_cpy.x
|
||||||
<= (int)hubp->curs_attr.width +
|
<= (int)hubp->curs_attr.width +
|
||||||
pipe_ctx->plane_state->src_rect.x) {
|
pipe_ctx->plane_state->src_rect.x) {
|
||||||
pos_cpy.x = temp_x + viewport_width;
|
pos_cpy.x = 2 * viewport_width - temp_x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user