drm/nouveau/kms/nv50: fix source-rect-only plane updates
authorBen Skeggs <bskeggs@redhat.com>
Mon, 1 May 2017 06:52:03 +0000 (16:52 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 11 May 2017 22:29:17 +0000 (08:29 +1000)
This "optimisation" (which was originally meant to skip updating cursor
settings in the core channel on position-only updates) turned out to be
pointless in the final design of the code before it was merged.

Remove it completely, as it breaks other cases.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Cc: stable@vger.kernel.org [4.10+]
drivers/gpu/drm/nouveau/nv50_display.c

index b7dd5484e58287d6ef46903af9e516fc221f7201..84b9bb43d93a8a583705d39fb4b15451b78ac725 100644 (file)
@@ -912,11 +912,9 @@ nv50_wndw_atomic_check(struct drm_plane *plane, struct drm_plane_state *state)
                if (memcmp(&armw->point, &asyw->point, sizeof(asyw->point)))
                        asyw->set.point = true;
 
-               if (!varm || asym || armw->state.fb != asyw->state.fb) {
-                       ret = nv50_wndw_atomic_check_acquire(wndw, asyw, asyh);
-                       if (ret)
-                               return ret;
-               }
+               ret = nv50_wndw_atomic_check_acquire(wndw, asyw, asyh);
+               if (ret)
+                       return ret;
        } else
        if (varm) {
                nv50_wndw_atomic_check_release(wndw, asyw, harm);