Message ID | 1612751576-42512-1-git-send-email-tiantao6@hisilicon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/tilcdc: replace spin_lock_irqsave by spin_lock in hard IRQ | expand |
On 2021-02-08 4:32, Tian Tao wrote: > 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> I merge to this drm-misc-next soon. Best regards, Jyri > --- > drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > index 3021370..b3e38e9 100644 > --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c > @@ -904,13 +904,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; > > @@ -920,21 +919,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)
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c index 3021370..b3e38e9 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -904,13 +904,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; @@ -920,21 +919,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)
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> --- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)