Re: [PATCH v3 00/13] drm: zynqmp_dp: IRQ cleanups and debugfs support

Sean Anderson
2024-04-23T14:59:28Z

On 4/23/24 09:33, Tomi Valkeinen wrote:
> Hi Sean,
>
> On 22/04/2024 21:45, 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.
>
> What is the base for this series? I'm having trouble applying it.
>
> I managed to mostly apply it, but I see the board hang when I unload the modules. I didn't debug it as it might as well be caused by my conflict resolution.

The base is v6.8-rc1, but it should probably be v6.9. I can rebase and resend.

--Sean

>> Changes in v3:
>> - Store base pointers in zynqmp_disp directly
>> - Don't delay work
>> - Convert to a hard IRQ
>> - Use AUX IRQs instead of polling
>> - Take dp->lock in zynqmp_dp_hpd_work_func
>>
>> Changes in v2:
>> - Fix kerneldoc
>> - Rearrange zynqmp_dp for better padding
>> - Split off the HPD IRQ work into another commit
>> - Expand the commit message
>> - Document hpd_irq_work
>> - Document debugfs files
>> - Add ignore_aux_errors and ignore_hpd debugfs files to replace earlier
>>    implicit functionality
>> - Attempt to fix unreproducable, spurious build warning
>> - Drop "Optionally ignore DPCD errors" in favor of a debugfs file
>>    directly affecting zynqmp_dp_aux_transfer.
>>
>> Sean Anderson (13):
>>    drm: xlnx: Store base pointers in zynqmp_disp directly
>>    drm: xlnx: Fix kerneldoc
>>    drm: zynqmp_dp: Downgrade log level for aux retries message
>>    drm: zynqmp_dp: Adjust training values per-lane
>>    drm: zynqmp_dp: Rearrange zynqmp_dp for better padding
>>    drm: zynqmp_dp: Don't delay work
>>    drm: zynqmp_dp: Add locking
>>    drm: zynqmp_dp: Don't retrain the link in our IRQ
>>    drm: zynqmp_dp: Convert to a hard IRQ
>>    drm: zynqmp_dp: Use AUX IRQs instead of polling
>>    drm: zynqmp_dp: Split off several helper functions
>>    drm: zynqmp_dp: Take dp->lock in zynqmp_dp_hpd_work_func
>>    drm: zynqmp_dp: Add debugfs interface for compliance testing
>>
>>   Documentation/gpu/drivers.rst       |   1 +
>>   Documentation/gpu/zynqmp.rst        | 149 +++++
>>   MAINTAINERS                         |   1 +
>>   drivers/gpu/drm/xlnx/zynqmp_disp.c  |  44 +-
>>   drivers/gpu/drm/xlnx/zynqmp_dp.c    | 909 +++++++++++++++++++++++++---
>>   drivers/gpu/drm/xlnx/zynqmp_dpsub.h |   1 +
>>   drivers/gpu/drm/xlnx/zynqmp_kms.h   |   4 +-
>>   7 files changed, 1000 insertions(+), 109 deletions(-)
>>   create mode 100644 Documentation/gpu/zynqmp.rst
>>
>