OSDN Git Service

drm/vblank: Use spin_(un)lock_irq() in drm_crtc_queue_sequence_ioctl()
authorLyude Paul <lyude@redhat.com>
Mon, 20 Jul 2020 19:07:36 +0000 (15:07 -0400)
committerLyude Paul <lyude@redhat.com>
Tue, 21 Jul 2020 15:08:35 +0000 (11:08 -0400)
This is an ioctl callback, so we're guaranteed to have IRQs enabled when
calling this function. Use the plain _irq() variants of spin_(un)lock()
to make this more obvious.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20200720190736.180297-6-lyude@redhat.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_vblank.c

index 6461007..b18e1ef 100644 (file)
@@ -2066,7 +2066,6 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data,
        u64 seq;
        u64 req_seq;
        int ret;
-       unsigned long spin_flags;
 
        if (!drm_core_check_feature(dev, DRIVER_MODESET))
                return -EOPNOTSUPP;
@@ -2114,7 +2113,7 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data,
        e->event.base.length = sizeof(e->event.seq);
        e->event.seq.user_data = queue_seq->user_data;
 
-       spin_lock_irqsave(&dev->event_lock, spin_flags);
+       spin_lock_irq(&dev->event_lock);
 
        /*
         * drm_crtc_vblank_off() might have been called after we called
@@ -2145,11 +2144,11 @@ int drm_crtc_queue_sequence_ioctl(struct drm_device *dev, void *data,
                queue_seq->sequence = req_seq;
        }
 
-       spin_unlock_irqrestore(&dev->event_lock, spin_flags);
+       spin_unlock_irq(&dev->event_lock);
        return 0;
 
 err_unlock:
-       spin_unlock_irqrestore(&dev->event_lock, spin_flags);
+       spin_unlock_irq(&dev->event_lock);
        drm_crtc_vblank_put(crtc);
 err_free:
        kfree(e);