All of the drivers in the kernel tree only call this from one of the
following contexts:

* drm_crtc_funcs->reset
* During initial module load

Since both of these contexts are guaranteed to have interrupts enabled
beforehand, there's no need to use the irqsave/irqrestore variants of
spin_(un)lock(). So, fix this to make the irq context of this function
more obvious.

Signed-off-by: Lyude Paul <ly...@redhat.com>
Cc: Daniel Vetter <dan...@ffwll.ch>
---
 drivers/gpu/drm/drm_vblank.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index f402c75b9d343..6af78aecea9d4 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -1363,11 +1363,10 @@ EXPORT_SYMBOL(drm_crtc_vblank_off);
 void drm_crtc_vblank_reset(struct drm_crtc *crtc)
 {
        struct drm_device *dev = crtc->dev;
-       unsigned long irqflags;
        unsigned int pipe = drm_crtc_index(crtc);
        struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 
-       spin_lock_irqsave(&dev->vbl_lock, irqflags);
+       spin_lock_irq(&dev->vbl_lock);
        /*
         * Prevent subsequent drm_vblank_get() from enabling the vblank
         * interrupt by bumping the refcount.
@@ -1376,7 +1375,7 @@ void drm_crtc_vblank_reset(struct drm_crtc *crtc)
                atomic_inc(&vblank->refcount);
                vblank->inmodeset = 1;
        }
-       spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
+       spin_unlock_irq(&dev->vbl_lock);
 
        drm_WARN_ON(dev, !list_empty(&dev->vblank_event_list));
        drm_WARN_ON(dev, !list_empty(&vblank->pending_work));
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to