[PATCH 03/14] drm/atmel-hlcdc: Convert to Linux IRQ interfaces

Sam Ravnborg sam at ravnborg.org
Wed Jul 28 20:11:39 UTC 2021


Hi Dan,

> > 
> > I think I got it - we need to set irq_enabled to true.
> > The documentation says so:
> > "
> >           * @irq_enabled:
> >           *
> >           * Indicates that interrupt handling is enabled, specifically vblank
> >           * handling. Drivers which don't use drm_irq_install() need to set this
> >           * to true manually.
> > "
> > 
> > Can you try to add the following line:
> > 
> > 
> > +static int atmel_hlcdc_dc_irq_install(struct drm_device *dev, unsigned int irq)
> > +{
> > +       int ret;
> > +
> > +       if (irq == IRQ_NOTCONNECTED)
> > +               return -ENOTCONN;
> > +
> > 
> >          dev->irq_enabled = true;                <= THIS LINE
> > 
> > 
> > +       atmel_hlcdc_dc_irq_disable(dev);
> > +
> > +       ret = request_irq(irq, atmel_hlcdc_dc_irq_handler, 0, dev->driver->name, dev);
> > +       if (ret)
> > +               return ret;
> > 
> > I hope this fixes it.
> 
> It does!  With the irq_enabled line added everything is looking good.

Great, thanks for testing.

Thomas - I assume you will do a re-spin and there is likely some fixes
for the applied IRQ conversions too.

Note - irq_enabled must be cleared if request_irq fails. I did not
include this in the testing here.

	Sam


More information about the amd-gfx mailing list