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-arch...@codeaurora.org/ --- Changes in v5: - Dropped hpd-gpio patches (to prevent ABI break, Krzysztof) - Link to v4: https://lore.kernel.org/r/20250209-fd-hdmi-hpd-v4-0-6224568ed...@linaro.org Changes in v4: - Added bindings patches. Dropped hpd-gpios from the IFC6410 board DT. - Fixed checkpatch.pl warning about non-const string arrays. - Rebased on top of linux-next and the MSM HDMI patchset. - Link to v3: https://lore.kernel.org/r/20240623-fd-hdmi-hpd-v3-0-8645a64cb...@linaro.org Changes in v3: - Rebase on top of linux-next - Dropped the patches that were replaced by the HDMI Connector framework - Picked up the mode_set -> atomic_pre_enable patch - Link to v2: https://lore.kernel.org/r/20240522-fd-hdmi-hpd-v2-0-c30bdb7c5...@linaro.org --- Dmitry Baryshkov (13): dt-bindings: display/msm/hdmi: drop obsolete GPIOs from schema drm/msm/hdmi: convert clock and regulator arrays to const arrays drm/msm/hdmi: move the alt_iface clock to the hpd list drm/msm/hdmi: simplify extp clock handling 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: ensure that HDMI is up if HPD is requested drm/msm/hdmi: wire in hpd_enable/hpd_disable bridge ops .../devicetree/bindings/display/msm/hdmi.yaml | 15 --- drivers/gpu/drm/msm/hdmi/hdmi.c | 133 ++++++++++----------- drivers/gpu/drm/msm/hdmi/hdmi.h | 26 ++-- drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 55 ++++----- drivers/gpu/drm/msm/hdmi/hdmi_hpd.c | 89 ++++---------- drivers/gpu/drm/msm/hdmi/hdmi_i2c.c | 14 ++- drivers/gpu/drm/msm/hdmi/hdmi_phy.c | 6 +- 7 files changed, 135 insertions(+), 203 deletions(-) --- base-commit: db76003ade5953d4a83c2bdc6e15c2d1c33e7350 change-id: 20240522-fd-hdmi-hpd-e3868deb6ae0 Best regards, -- Dmitry Baryshkov <dmitry.barysh...@oss.qualcomm.com>