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

Dan.Sneddon at microchip.com Dan.Sneddon at microchip.com
Wed Jul 28 19:19:29 UTC 2021


Hi Sam,
On 7/28/21 12:08 PM, Sam Ravnborg wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> 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.

It does!  With the irq_enabled line added everything is looking good.

Best Regards,
Dan

> 
>          Sam
> 



More information about the Freedreno mailing list