drm/tilcdc: replace spin_lock_irqsave by spin_lock in hard IRQ

The code has been in a irq-disabled context since it is hard IRQ. There
is no necessity to do it again.

Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
Reviewed-by: Jyri Sarha <jyri.sarha@iki.fi>
Tested-by: Jyri Sarha <jyri.sarha@iki.fi>
Signed-off-by: Jyri Sarha <jyri.sarha@iki.fi>
Link: https://patchwork.freedesktop.org/patch/msgid/1612751576-42512-1-git-send-email-tiantao6@hisilicon.com
This commit is contained in:
Tian Tao 2021-02-08 10:32:56 +08:00 committed by Jyri Sarha
parent f0297cc0fd
commit 1b4f3a9846

View File

@ -913,13 +913,12 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc)
tilcdc_clear_irqstatus(dev, stat);
if (stat & LCDC_END_OF_FRAME0) {
unsigned long flags;
bool skip_event = false;
ktime_t now;
now = ktime_get();
spin_lock_irqsave(&tilcdc_crtc->irq_lock, flags);
spin_lock(&tilcdc_crtc->irq_lock);
tilcdc_crtc->last_vblank = now;
@ -929,21 +928,21 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc)
skip_event = true;
}
spin_unlock_irqrestore(&tilcdc_crtc->irq_lock, flags);
spin_unlock(&tilcdc_crtc->irq_lock);
drm_crtc_handle_vblank(crtc);
if (!skip_event) {
struct drm_pending_vblank_event *event;
spin_lock_irqsave(&dev->event_lock, flags);
spin_lock(&dev->event_lock);
event = tilcdc_crtc->event;
tilcdc_crtc->event = NULL;
if (event)
drm_crtc_send_vblank_event(crtc, event);
spin_unlock_irqrestore(&dev->event_lock, flags);
spin_unlock(&dev->event_lock);
}
if (tilcdc_crtc->frame_intact)