linux/drivers/gpu/drm/amd/display
Nicholas Kazlauskas a93587b31e drm/amd/display: Only get the connector state for VRR when toggled
[Why]
This fixes a stuttering issue that occurs when moving a hardware cursor
when VRR is enabled.

Previously when VRR is enabled atomic check will grab the connector
state for every atomic update. This has to lock the connector in order
to do so. The locking is bad enough by itself for performance, but
it gets worse with what we do just below that - add all the planes
for the CRTC to the commit.

This prevents the cursor fast path from working - there's more than one
plane now. With state->allow_modeset = true on top of this, it also
adds and removes all the planes from the DC context triggering a full
(very slow) update in DC.

[How]
We need the connector state to get the VRR min/max capbilities, but we
only need them when there's a CRTC mode change or when VRR is toggled.

The condition has been updated accordingly.

Fixes: 3cc22f281318 ("drm/amdgpu: Set FreeSync state using drm VRR properties")

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-01-14 15:37:51 -05:00
..
amdgpu_dm drm/amd/display: Only get the connector state for VRR when toggled 2019-01-14 15:37:51 -05:00
dc drm/amd/display: Fix boolean expression in get_surf_rq_param 2019-01-14 15:04:50 -05:00
include drm/amd/display: Use 100 Hz precision for pipe pixel clocks 2019-01-14 15:04:39 -05:00
modules drm/amd/display: Use 100 Hz precision for pipe pixel clocks 2019-01-14 15:04:39 -05:00
Kconfig drm/amd/display: Add DC config flag for Raven2 (v2) 2018-09-14 09:36:56 -05:00
Makefile drm/amd/display: Load DMCU IRAM 2018-11-26 15:47:53 -05:00
TODO drm/amd/display: Convert remaining loggers off dc_logger 2018-07-13 14:48:42 -05:00