diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-07-15 13:11:25 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-10-01 09:33:27 -0400 |
commit | 5c8752c6506abf29950d32366f826899dc87dde7 (patch) | |
tree | 6eb7273b30914a12b6d13621b174a6cf6c755f23 | |
parent | 9099ea19ca8ad21ab7f2a7abc06e270adeb8b02f (diff) |
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>
-rw-r--r-- | drivers/gpu/drm/armada/armada_overlay.c | 3 |
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) | |||
275 | 275 | ||
276 | spin_lock_irq(&dcrtc->irq_lock); | 276 | spin_lock_irq(&dcrtc->irq_lock); |
277 | armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update); | 277 | armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update); |
278 | dplane->ctrl0 = 0; | ||
279 | spin_unlock_irq(&dcrtc->irq_lock); | 278 | spin_unlock_irq(&dcrtc->irq_lock); |
280 | 279 | ||
280 | dplane->ctrl0 = 0; | ||
281 | |||
281 | armada_drm_crtc_plane_disable(dcrtc, plane); | 282 | armada_drm_crtc_plane_disable(dcrtc, plane); |
282 | 283 | ||
283 | fb = xchg(&dplane->old_fb, NULL); | 284 | fb = xchg(&dplane->old_fb, NULL); |