[PATCH v5 00/10] drm: zynqmp_dp: IRQ cleanups and debugfs support

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Thu Aug 8 12:46:55 UTC 2024


Hi Sean,

On 17/06/2024 17:48, Sean Anderson wrote:
> On 6/17/24 03:47, Tomi Valkeinen wrote:
>> Hi Sean,
>>
>> On 03/05/2024 22:29, Sean Anderson wrote:
>>> This series cleans up the zyqnmp_dp IRQ and locking situation. Once
>>> that's done, it adds debugfs support. The intent is to enable compliance
>>> testing or to help debug signal-integrity issues.
>>>
>>> Last time I discussed converting the HPD work(s) to a threaded IRQ. I
>>> did not end up doing that for this series since the steps would be
>>>
>>> - Add locking
>>> - Move link retraining to a work function
>>> - Harden the IRQ
>>> - Merge the works into a threaded IRQ (omitted)
>>>
>>> Which with the exception of the final step is the same as leaving those
>>> works as-is. Conversion to a threaded IRQ can be done as a follow-up.
>>
>> I tested this, and the "drm: zynqmp_dp: Convert to a hard IRQ" causes a hang for me when unloading the drivers. Unfortunately I'm not in the condition to debug it at the moment.
>>
>> I have picked the first three patches into drm-misc-next, though, to decrease the number of patches in the series a bit. They looked independent and safe enough to apply.
> 
> Are you running into [1]?
> 
> --Sean
> 
> [1] https://lore.kernel.org/dri-devel/4d8f4c9b-2efb-4774-9a37-2f257f79b2c9@linux.dev/
> 

No. Afaics, it breaks because the irq handler is requested with 
IRQF_SHARED, and that means the handler can be called at any time. The 
handler reads DP registers, but the DP IP could already be powered off.

You'll probably see it easily if you enable CONFIG_DEBUG_SHIRQ, and 
unload the module or unbind the device.

  Tomi



More information about the dri-devel mailing list