summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/armada/armada_crtc.c
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:28 +0200
commit6908cf755af74b38d67195ee6607976a55f53d95 (patch)
tree4304dadc33939a5998d7d0796eb0ce9b2dd9ed4c /drivers/gpu/drm/armada/armada_crtc.c
parentdrm/armada: move the update of dplane->ctrl0 out of spinlock (diff)
downloadlinux-6908cf755af74b38d67195ee6607976a55f53d95.tar.xz
linux-6908cf755af74b38d67195ee6607976a55f53d95.zip
drm/armada: move the locking for armada_drm_vbl_event_remove()
Move the locking for armada_drm_vbl_event_remove() into itself, which makes this function symmetrical with armada_drm_vbl_event_add(). Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada/armada_crtc.c')
-rw-r--r--drivers/gpu/drm/armada/armada_crtc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/armada/armada_crtc.c b/drivers/gpu/drm/armada/armada_crtc.c
index 89decc5bdcd4..e3e6f81593c0 100644
--- a/drivers/gpu/drm/armada/armada_crtc.c
+++ b/drivers/gpu/drm/armada/armada_crtc.c
@@ -211,10 +211,12 @@ void armada_drm_vbl_event_add(struct armada_crtc *dcrtc,
void armada_drm_vbl_event_remove(struct armada_crtc *dcrtc,
struct armada_vbl_event *evt)
{
+ spin_lock_irq(&dcrtc->irq_lock);
if (!list_empty(&evt->node)) {
list_del_init(&evt->node);
drm_vblank_put(dcrtc->crtc.dev, dcrtc->num);
}
+ spin_unlock_irq(&dcrtc->irq_lock);
}
static void armada_drm_vbl_event_run(struct armada_crtc *dcrtc)