When dc_link_detect_connection_type thinks that a display is
connected, but dc_link_detect failed, enqueue delayed work to
retry the link detection again.

Useful when eg. HPD pin is high but the display isn't ready and
didn't respond to DDC. Typically this may happen when the HPD
pins make contact before the DDC pins, or when the display
is "slow to wake up" and doesn't respond on DDC.

The first few patches are just a slight refactor to
de-duplicate some code and do some cleanup necessary
for the retry. This is to avoid adding even more duplicated
code.

Timur Kristóf (5):
  drm/amd/display: Add detect reason to handle_hpd_irq_helper
  drm/amd/display: Use handle_hpd_irq_helper for HPD RX
  drm/amd/display: Always create delayed HPD work queue
  drm/amd/display: Retry link detection on hotplug
  drm/amd/display: Retry link detection on resume and boot

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 216 +++++++++++++-----
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |  16 ++
 2 files changed, 179 insertions(+), 53 deletions(-)

-- 
2.54.0

Reply via email to