drm: Use correct spinlock flavor in drm_vblank_get()
Subsystems (2)
PATCH 1/1 drm: Use correct spinlock flavor in drm_vblank_get()
The irq flags state is already established by the outer spin_lock_irqsave(); re-disabling irqs is redundant.
Signed-off-by Peter Hurley <[email protected]>
--- drivers/gpu/drm/drm_irq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/gpu/drm/drm_irq.c +3 -3
@@ -952,13 +952,13 @@ static void drm_update_vblank_count(struct drm_device *dev, int crtc)*/ int drm_vblank_get (struct drm_device *dev,int crtc) { -unsigned long irqflags, irqflags2; +unsigned long irqflags;int ret =0 ;spin_lock_irqsave (&dev->vbl_lock, irqflags);/* Going from 0->1 means we have to enable interrupts again */ if (atomic_add_return (1 , &dev->vblank_refcount[crtc]) ==1 ) { -spin_lock_irqsave (&dev->vblank_time_lock, irqflags2); +spin_lock (&dev->vblank_time_lock);if (!dev->vblank_enabled[crtc]) {/* Enable vblank irqs under vblank_time_lock protection. * All vblank count & timestamp updates are held off
@@ -976,7 +976,7 @@ int drm_vblank_get(struct drm_device *dev, int crtc)drm_update_vblank_count (dev, crtc); } } -spin_unlock_irqrestore (&dev->vblank_time_lock, irqflags2); +spin_unlock (&dev->vblank_time_lock); }else {if (!dev->vblank_enabled[crtc]) {atomic_dec (&dev->vblank_refcount[crtc]);
Signature · 1 line
1.8.1.2