bianbu-linux-6.6/drivers/gpu/drm/amd/display/amdgpu_dm
Nicholas Kazlauskas e371e19c10 drm/amd/display: Disable cursor when offscreen in negative direction
[Why]
When x or y is negative we set the x and y values to 0 and compensate
with a positive cursor hotspot in DM since DC expects positive cursor
values.

When x or y is less than or equal to the maximum cursor width or height
the cursor hotspot is clamped so the hotspot doesn't exceed the
cursor size:

if (x < 0) {
        xorigin = min(-x, amdgpu_crtc->max_cursor_width - 1);
        x = 0;
}

if (y < 0) {
        yorigin = min(-y, amdgpu_crtc->max_cursor_height - 1);
        y = 0;
}

This incorrectly forces the cursor to be at least 1 pixel on the screen
in either direction when x or y is sufficiently negative.

[How]
Just disable the cursor when it goes far enough off the screen in one
of these directions.

This fixes kms_cursor_crc@cursor-256x256-offscreen.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-05-24 12:20:49 -05:00
..
amdgpu_dm.c drm/amd/display: Disable cursor when offscreen in negative direction 2019-05-24 12:20:49 -05:00
amdgpu_dm.h drm/amd/display: Refactor CRTC interrupt toggling logic 2019-04-29 14:58:08 -05:00
amdgpu_dm_color.c drm/amd/display: program default output gamma 2019-03-27 22:41:25 -05:00
amdgpu_dm_crc.c drm/amd/display: Re-enable CRC capture following modeset 2019-01-28 11:44:03 -05:00
amdgpu_dm_debugfs.c drm/amd/display: Add debugfs entry for amdgpu_dm_visual_confirm 2019-04-10 13:53:27 -05:00
amdgpu_dm_debugfs.h drm/amd/display: Add support for hw_state logging via debugfs 2018-08-27 15:20:17 -05:00
amdgpu_dm_helpers.c drm/amd/display: Poll pending DOWN_REP before enabling the link 2019-03-19 15:04:02 -05:00
amdgpu_dm_irq.c drm/amd/display: In VRR mode, do DRM core vblank handling at end of vblank. (v2) 2019-04-03 10:00:33 -05:00
amdgpu_dm_irq.h
amdgpu_dm_mst_types.c drm/amd/display: Respect aux return values 2019-03-19 15:04:02 -05:00
amdgpu_dm_mst_types.h drm/amd/display: Cleanup MST non-atomic code workaround 2018-11-07 18:20:49 -05:00
amdgpu_dm_pp_smu.c drm/amd/display: Clean up old pplib interface functions 2019-03-27 22:41:49 -05:00
amdgpu_dm_services.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
amdgpu_dm_trace.h drm/amd/display: Add tracing to dc 2018-12-05 17:49:49 -05:00
Makefile drm/amd/display: Moving powerplay functions to a separate class 2018-07-05 16:38:41 -05:00