Merge tag 'topic/drm-misc-2015-05-06' of git://anongit.freedesktop.org/drm-intel...
[cascardo/linux.git] / drivers / gpu / drm / drm_atomic_helper.c
index 1d2ca52..5d30592 100644 (file)
@@ -1138,7 +1138,8 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev,
                if (drm_atomic_plane_disabling(plane, old_plane_state) &&
                    funcs->atomic_disable)
                        funcs->atomic_disable(plane, old_plane_state);
-               else
+               else if (plane->state->crtc ||
+                        drm_atomic_plane_disabling(plane, old_plane_state))
                        funcs->atomic_update(plane, old_plane_state);
        }
 
@@ -1309,13 +1310,13 @@ retry:
        plane_state->src_h = src_h;
        plane_state->src_w = src_w;
 
+       if (plane == crtc->cursor)
+               state->legacy_cursor_update = true;
+
        ret = drm_atomic_commit(state);
        if (ret != 0)
                goto fail;
 
-       if (plane == crtc->cursor)
-               state->legacy_cursor_update = true;
-
        /* Driver takes ownership of state on successful commit. */
        return 0;
 fail: