diff options
author | Shirish S <shirish.s@amd.com> | 2017-10-27 03:25:55 +0000 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-10-27 13:15:57 -0400 |
commit | 7bef1af3b9c2a5690a41298b5986dbde82fbedbc (patch) | |
tree | dfaa8c5eafd02f030c5f55edca22b979f6bc3ccf /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
parent | 56087b31f4b2861c773185ec45d313b55dbbb69d (diff) | |
download | lwn-7bef1af3b9c2a5690a41298b5986dbde82fbedbc.tar.gz lwn-7bef1af3b9c2a5690a41298b5986dbde82fbedbc.zip |
drm/amd/display: check if modeset is required before adding plane
Adding affected planes without checking if modeset is requested from the user space causes performance regression in video p/b scenarios when full screen p/b is not composited.
Hence add a check before adding a plane as affected.
bug: https://bugs.freedesktop.org/show_bug.cgi?id=103408
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Shirish S <shirish.s@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index c2fefd3e657e..fd3e995fc426 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -4653,6 +4653,9 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, } } else { for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { + if (!drm_atomic_crtc_needs_modeset(new_crtc_state)) + continue; + if (!new_crtc_state->enable) continue; |