summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorHarry Wentland <harry.wentland@amd.com>2017-05-25 18:00:37 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:07:40 -0400
commit30406ff85324bc64bf8a9bf5b3f4e75c23ea4abf (patch)
treeca3622381451ba0b8dc4184d9bfec81bfdde7999 /drivers/gpu/drm
parentf0c16087fba728c36bc33fe462b35ca4ada7f5ca (diff)
downloadlinux-30406ff85324bc64bf8a9bf5b3f4e75c23ea4abf.tar.bz2
drm/amd/display: Don't commit surfaces if no stream
Signed-off-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
index 1fc8bbfcb4b9..7db04a487c21 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c
@@ -2549,6 +2549,9 @@ void amdgpu_dm_atomic_commit_tail(
WARN_ON(!status);
WARN_ON(!status->surface_count);
+ if (!acrtc->stream)
+ continue;
+
/*TODO How it works with MPO ?*/
if (!dc_commit_surfaces_to_stream(
dm->dc,
@@ -2606,8 +2609,12 @@ void amdgpu_dm_atomic_commit_tail(
}
/* update planes when needed per crtc*/
- for_each_crtc_in_state(state, pcrtc, old_crtc_state, j)
- amdgpu_dm_commit_surfaces(state, dev, dm, pcrtc, &wait_for_vblank);
+ for_each_crtc_in_state(state, pcrtc, old_crtc_state, j) {
+ struct amdgpu_crtc *acrtc = to_amdgpu_crtc(pcrtc);
+
+ if (acrtc->stream)
+ amdgpu_dm_commit_surfaces(state, dev, dm, pcrtc, &wait_for_vblank);
+ }
for (i = 0; i < new_crtcs_count; i++) {
/*