summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2017-05-01 09:52:03 +0300
committerBen Skeggs <bskeggs@redhat.com>2017-05-12 01:29:17 +0300
commit36601c2b36e27435d9be33cfa092120ff69914eb (patch)
tree3c1cdee01691774e43db1250d4f2854b9310d51c
parentf42c5707f9344a2e30128cde5ca2a02775e58994 (diff)
downloadlinux-36601c2b36e27435d9be33cfa092120ff69914eb.tar.xz
drm/nouveau/kms/nv50: fix source-rect-only plane updates
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+]
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index b7dd5484e582..84b9bb43d93a 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -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);