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:28 -0400 |
commit | 6908cf755af74b38d67195ee6607976a55f53d95 (patch) | |
tree | 4304dadc33939a5998d7d0796eb0ce9b2dd9ed4c | |
parent | 5c8752c6506abf29950d32366f826899dc87dde7 (diff) |
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>
-rw-r--r-- | drivers/gpu/drm/armada/armada_crtc.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/armada/armada_overlay.c | 2 |
2 files changed, 2 insertions, 2 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, | |||
211 | void armada_drm_vbl_event_remove(struct armada_crtc *dcrtc, | 211 | void armada_drm_vbl_event_remove(struct armada_crtc *dcrtc, |
212 | struct armada_vbl_event *evt) | 212 | struct armada_vbl_event *evt) |
213 | { | 213 | { |
214 | spin_lock_irq(&dcrtc->irq_lock); | ||
214 | if (!list_empty(&evt->node)) { | 215 | if (!list_empty(&evt->node)) { |
215 | list_del_init(&evt->node); | 216 | list_del_init(&evt->node); |
216 | drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); | 217 | drm_vblank_put(dcrtc->crtc.dev, dcrtc->num); |
217 | } | 218 | } |
219 | spin_unlock_irq(&dcrtc->irq_lock); | ||
218 | } | 220 | } |
219 | 221 | ||
220 | static void armada_drm_vbl_event_run(struct armada_crtc *dcrtc) | 222 | static void armada_drm_vbl_event_run(struct armada_crtc *dcrtc) |
diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c index e7e020d4372a..6ec42eb85981 100644 --- a/drivers/gpu/drm/armada/armada_overlay.c +++ b/drivers/gpu/drm/armada/armada_overlay.c | |||
@@ -273,9 +273,7 @@ static int armada_ovl_plane_disable(struct drm_plane *plane) | |||
273 | dcrtc = drm_to_armada_crtc(dplane->base.base.crtc); | 273 | dcrtc = drm_to_armada_crtc(dplane->base.base.crtc); |
274 | dcrtc->plane = NULL; | 274 | dcrtc->plane = NULL; |
275 | 275 | ||
276 | spin_lock_irq(&dcrtc->irq_lock); | ||
277 | armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update); | 276 | armada_drm_vbl_event_remove(dcrtc, &dplane->vbl.update); |
278 | spin_unlock_irq(&dcrtc->irq_lock); | ||
279 | 277 | ||
280 | dplane->ctrl0 = 0; | 278 | dplane->ctrl0 = 0; |
281 | 279 | ||