From: Harry Wentland Date: Thu, 25 May 2017 18:00:37 -0400 Subject: drm/amd/display: Don't commit surfaces if no stream Git-commit: 30406ff85324bc64bf8a9bf5b3f4e75c23ea4abf Patch-mainline: v4.15-rc1 References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166 Signed-off-by: Harry Wentland Reviewed-by: Tony Cheng Acked-by: Harry Wentland Signed-off-by: Alex Deucher Acked-by: Petr Tesarik --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_types.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) --- 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++) { /*