]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Translate cursor position by source rect
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Sun, 5 Apr 2020 20:40:53 +0000 (16:40 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 7 Apr 2020 18:20:45 +0000 (14:20 -0400)
commitdfdf0bd75e4ab1e5d8133d26e6862dc27b63aa2a
tree64b56f7cf601e841326e455f1e5389681465759e
parent5efaa7243f30f123bcc45ddc9308e5edbdd1fea8
drm/amd/display: Translate cursor position by source rect

[Why]
Cursor is drawn as part of the framebuffer for a plane on AMD hardware.
The cursor position on the framebuffer does not change even if the
source rect viewport for the cursor does. This causes the cursor to be
clipped.

The following IGT tests fail as a result of this issue:

- kms_plane_cursor@pipe-*-viewport-size-*

[How]
Offset cursor position by plane source rect viewport. If the viewport
is unscaled then the cursor is now correctly positioned on any
plane - primary or overlay.

There is still a hardware limitation for dealing with the cursor size
being incorrectly scaled but that's not something we can address.

Add some documentation explaining some of this in the code while we're
at it.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Zhan Liu <Zhan.Liu@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c