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
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to