[PATCH v2 00/14] drm/msm/hdmi: rework and fix the HPD even generation

From: Dmitry Baryshkov
Date: Wed May 22 2024 - 06:51:12 EST


The MSM HDMI driver is plagued with the long-standing bug. If HDMI cable
is disconnected, in most of the cases cable reconnection will not be
detected properly. We have been carrying the patch from [1] in our
integration tree for ages. The time has come to fix the long-standing
bug and implement proper HPD handling.

This series was tested on msm8996 and apq8064 boards. Previously HPD
handling sometimes could trigger in the CRTC event handling, however I
can no longer reproduce it now.

[1] https://lore.kernel.org/linux-arm-msm/20171027105732.19235-2-architt@xxxxxxxxxxxxxx/

---
Dmitry Baryshkov (14):
drm/msm/hdmi: move the alt_iface clock to the hpd list
drm/msm/hdmi: simplify extp clock handling
drm/msm/hdmi: switch to atomic_pre_enable/post_disable
drm/msm/hdmi: set infoframes on all pre_enable calls
drm/msm/hdmi: drop clock frequency assignment
drm/msm/hdmi: switch to clk_bulk API
drm/msm/hdmi: switch to pm_runtime_resume_and_get()
drm/msm/hdmi: add runtime PM calls to DDC transfer function
drm/msm/hdmi: implement proper runtime PM handling
drm/msm/hdmi: rename hpd_clks to pwr_clks
drm/msm/hdmi: expand the HDMI_CFG macro
drm/msm/hdmi: drop hpd-gpios support
drm/msm/hdmi: ensure that HDMI is one if HPD is requested
drm/msm/hdmi: wire in hpd_enable/hpd_disable bridge ops

drivers/gpu/drm/msm/hdmi/hdmi.c | 145 ++++++++++++++++-----------------
drivers/gpu/drm/msm/hdmi/hdmi.h | 26 ++----
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 80 +++++++++---------
drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 142 ++++++--------------------------
drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 14 +++-
drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 6 +-
6 files changed, 157 insertions(+), 256 deletions(-)
---
base-commit: 8314289a8d50a4e05d8ece1ae0445a3b57bb4d3b
change-id: 20240522-fd-hdmi-hpd-e3868deb6ae0

Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>