The first patch in the series implements the CEC capability of the Synopsys DesignWare HDMI QP TX controller found in RK3588 & RK3576 Socs. This is based on the downstream code, but rewritten on top of the CEC helpers added recently to the DRM HDMI connector framework.
The second patch is needed for RK3576 in order to fixup the timer base setup according to the actual reference clock rate, which differs slightly from RK3588. The following three patches setup platform data with the new information expected by the HDMI QP transmitter library, while improving the error handling in the probe path. Please note the CEC helpers were affected by a resource deallocation issue which could crash the kernel and freeze the system under certain test conditions. This has been already fixed in v6.17-rc1 via commit 19920ab98e17 ("drm/display: hdmi-cec-helper: Fix adapter unregistration"). Signed-off-by: Cristian Ciocaltea <cristian.ciocal...@collabora.com> --- Changes in v3: - Fixup PATCH 1 according to the recent upstream commit 02bb63d1a593 ("drm/bridge: Make dp/hdmi_audio_* callback keep the same paramter order with get_modes") which changed the signature of ->hdmi_cec_init() callback of struct drm_bridge_funcs; while at it, also update the copyright section - Updated cover letter to indicate that the CEC helpers fix is already available since v6.17-rc1 - Rebased series onto next-20250825 - Link to v2: https://lore.kernel.org/r/20250710-rk3588-hdmi-cec-v2-0-f5884be34...@collabora.com Changes in v2: - Collected R-b tag from Dmitry - Restructured the generic bridge patches to not depend on the platform-specific changes and updated cover letter accordingly (Heiko) - Replaced the loop searching for "ref" clock with clk_get() (Maxime) - Added new patch "drm/rockchip: dw_hdmi_qp: Improve error handling with dev_err_probe()" - Link to v1: https://lore.kernel.org/r/20250704-rk3588-hdmi-cec-v1-0-2bd8de870...@collabora.com --- Cristian Ciocaltea (6): drm/bridge: dw-hdmi-qp: Add CEC support drm/bridge: dw-hdmi-qp: Fixup timer base setup drm/rockchip: dw_hdmi_qp: Improve error handling with dev_err_probe() drm/rockchip: dw_hdmi_qp: Provide CEC IRQ in dw_hdmi_qp_plat_data drm/rockchip: dw_hdmi_qp: Provide ref clock rate in dw_hdmi_qp_plat_data arm64: defconfig: Enable DW HDMI QP CEC support arch/arm64/configs/defconfig | 1 + drivers/gpu/drm/bridge/synopsys/Kconfig | 8 + drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 232 ++++++++++++++++++++++++- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.h | 14 ++ drivers/gpu/drm/rockchip/dw_hdmi_qp-rockchip.c | 77 ++++---- include/drm/bridge/dw_hdmi_qp.h | 2 + 6 files changed, 292 insertions(+), 42 deletions(-) --- base-commit: 6c68f4c0a147c025ae0b25fab688c7c47964a02f change-id: 20250703-rk3588-hdmi-cec-cea8f523df48