[PATCH v2 2/7] drm: mxsfb: Simplify LCDIF IRQ handling

Marek Vasut marex at denx.de
Sun Apr 17 01:04:40 UTC 2022


On 4/7/22 10:01, Lucas Stach wrote:
> Am Donnerstag, dem 07.04.2022 um 00:03 +0200 schrieb Marek Vasut:
>> On 4/6/22 21:41, Lucas Stach wrote:
>>> Am Freitag, dem 11.03.2022 um 18:05 +0100 schrieb Marek Vasut:
>>>> The call to drm_crtc_vblank_off(&lcdif->crtc); disables IRQ generation
>>>> from the LCDIF block already and this is called in mxsfb_load() before
>>>> request_irq(), so explicitly disabling IRQ using custom function like
>>>> mxsfb_irq_disable() is not needed, remove it.
>>>>
>>>
>>> Have you checked that the drm_vblank_off in probe actually results in a
>>> call to mxsfb_crtc_disable_vblank? From my reading of the core code,
>>> this should be a no-op without a previous drm_vblank_on, so it would
>>> not result in the desired masking before the IRQ is requested.
>>
>> I must've missed the vblank->enabled check, but then, I am also not
>> getting any interrupts, so presumably they are already disabled after
>> the IP is reset.
> 
> Yep, it should be the default for every peripheral to not send any
> unsolicited interrupts. But then I don't see explicit reset of the IP
> in the driver probe. So maybe this is a workaround for situation where
> something running before Linux has already enabled the display
> controller and for whatever reason also enabled the interrupt
> requests?
> 
> Either we should have a proper reset of the block in the probe path, or
> this interrupt masking must be kept in one form or the other. My vote
> would be on just masking the IRQs and dropping the useless
> drm_vblank_off.

I can just discard this patch, OK.


More information about the dri-devel mailing list