Hi Dan, > >> > >> Just to be sure... > >> Can you confirm that vbltest is working OK *before* this patch? > > > > Yes, can you please verify that it regressed. If so, this would mean > > that the driver misses vblank interrupts with the patch applied. > > Yes, unfortunately the vbltest works before this patch, but fails after > this patch is applied. 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. Sam