[PATCH] drm/tilcdc: replace spin_lock_irqsave by spin_lock in hard IRQ
Jyri Sarha
jyri.sarha at iki.fi
Thu Feb 18 15:59:00 UTC 2021
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 at hisilicon.com>
Reviewed-by: Jyri Sarha <jyri.sarha at iki.fi>
Tested-by: Jyri Sarha <jyri.sarha at 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)
More information about the dri-devel
mailing list