Message ID | 20240912083020.3720233-3-ruanjinjie@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Use IRQF_NO_AUTOEN flag in request_irq() | expand |
On Thu, Sep 12, 2024 at 04:30:17PM +0800, Jinjie Ruan wrote: > disable_irq() after request_irq() still has a time gap in which > interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will > disable IRQ auto-enable when request IRQ. > > Fixes: 9021c317b770 ("drm/imx: Add initial support for DCSS on iMX8MQ") > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Reviewed-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com> Thanks, Laurentiu > --- > v2: > - Add Reviewed-by. > --- > drivers/gpu/drm/imx/dcss/dcss-dtg.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/imx/dcss/dcss-dtg.c b/drivers/gpu/drm/imx/dcss/dcss-dtg.c > index 2968f5d5bd41..6bbfd9aa27ac 100644 > --- a/drivers/gpu/drm/imx/dcss/dcss-dtg.c > +++ b/drivers/gpu/drm/imx/dcss/dcss-dtg.c > @@ -134,14 +134,12 @@ static int dcss_dtg_irq_config(struct dcss_dtg *dtg, > dtg->base_reg + DCSS_DTG_INT_MASK); > > ret = request_irq(dtg->ctxld_kick_irq, dcss_dtg_irq_handler, > - 0, "dcss_ctxld_kick", dtg); > + IRQF_NO_AUTOEN, "dcss_ctxld_kick", dtg); > if (ret) { > dev_err(dtg->dev, "dtg: irq request failed.\n"); > return ret; > } > > - disable_irq(dtg->ctxld_kick_irq); > - > dtg->ctxld_kick_irq_en = false; > > return 0; > -- > 2.34.1 >
diff --git a/drivers/gpu/drm/imx/dcss/dcss-dtg.c b/drivers/gpu/drm/imx/dcss/dcss-dtg.c index 2968f5d5bd41..6bbfd9aa27ac 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-dtg.c +++ b/drivers/gpu/drm/imx/dcss/dcss-dtg.c @@ -134,14 +134,12 @@ static int dcss_dtg_irq_config(struct dcss_dtg *dtg, dtg->base_reg + DCSS_DTG_INT_MASK); ret = request_irq(dtg->ctxld_kick_irq, dcss_dtg_irq_handler, - 0, "dcss_ctxld_kick", dtg); + IRQF_NO_AUTOEN, "dcss_ctxld_kick", dtg); if (ret) { dev_err(dtg->dev, "dtg: irq request failed.\n"); return ret; } - disable_irq(dtg->ctxld_kick_irq); - dtg->ctxld_kick_irq_en = false; return 0;