Hi
Am 29.07.21 um 21:24 schrieb Dan.Sneddon@microchip.com:
Hi Thomas,
On 7/29/21 12:18 PM, Thomas Zimmermann wrote:
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
I was testing with 5.14-rc3. I can test with drm-tip or drm-misc-next. There a preferred branch to test from?
I use drm-tip for development, but all the relevant patches go through drm-misc-next. So either is fine.
Best regards Thomas
Thanks and regards, Dan
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