drm/armada: move the update of dplane->ctrl0 out of spinlock
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 15 Jul 2015 17:11:25 +0000 (18:11 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 1 Oct 2015 13:33:27 +0000 (14:33 +0100)
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>
drivers/gpu/drm/armada/armada_overlay.c

index 9686d79335a0434379e0cb92dcaa92cbef187cc1..e7e020d4372a4cab2bf7b265712a4bd2a3dadde8 100644 (file)
@@ -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);