Hi Am 28.07.21 um 22:11 schrieb Sam Ravnborg: > 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. Are you sure, you're testing with the latest drm-misc-next or drm-tip? Because using irq_enabled is deprecated and the flag was recently replaced by commit 1e4cd78ed493 ("drm: Don't test for IRQ support in VBLANK ioctls"). Best regards Thomas > > 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 > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Felix Imendörffer