summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/armada
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-07-15 19:11:25 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-10-01 15:33:27 +0200
commit5c8752c6506abf29950d32366f826899dc87dde7 (patch)
tree6eb7273b30914a12b6d13621b174a6cf6c755f23 /drivers/gpu/drm/armada
parentdrm/armada: move write to dma_ctrl0 to armada_drm_crtc_plane_disable() (diff)
downloadlinux-5c8752c6506abf29950d32366f826899dc87dde7.tar.xz
linux-5c8752c6506abf29950d32366f826899dc87dde7.zip
drm/armada: move the update of dplane->ctrl0 out of spinlock
It is not necessary to write dplane->ctrl0 under the CRTC spinlock, as this is only accessed under process context where the DRM locks will protect us instead. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada')
-rw-r--r--drivers/gpu/drm/armada/armada_overlay.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
index 9686d79335a0..e7e020d4372a 100644
--- a/drivers/gpu/drm/armada/armada_overlay.c
+++ b/drivers/gpu/drm/armada/armada_overlay.c
@@ -275,9 +275,10 @@ static int armada_ovl_plane_disable(struct drm_plane *plane)
spin_lock_irq(&dcrtc->irq_lock);
armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update);
- dplane->ctrl0 = 0;
spin_unlock_irq(&dcrtc->irq_lock);
+ dplane->ctrl0 = 0;
+
armada_drm_crtc_plane_disable(dcrtc, plane);
fb = xchg(&dplane->old_fb, NULL);