Hi, This is a follow-up of the work to support the interactions between the hotplug and the scrambling support for vc4: https://lore.kernel.org/dri-devel/20210507150515.257424-11-maxime@xxxxxxxxxx/ https://lore.kernel.org/dri-devel/20211025152903.1088803-10-maxime@xxxxxxxxxx/ https://lore.kernel.org/dri-devel/20211118103814.524670-1-maxime@xxxxxxxxxx/ Ville feedback was that the same discussion happened some time ago for i915, and resulted in a function to do an full disable/enable cycle on reconnection to avoid breaking the HDMI 2.0 spec. While the previous versions of this series was moving the current scrambling related functions into generic helpers to consolidate that logic, it proved to be difficult to rework existing drivers to make use of it without hardware to test it on and thus the code is (for now) private to vc4. I still believe that long term, the code to decide if the scrambler needs to be enabled or not should be moved into a generic helper. This also means that we would need to move the format output decision to a generic helper, which also makes sense to me but it probably going to be controversial. Let me know what you think, Maxime Changes from v2: - Rebased on next-20220713 - Dropped the generic helpers and put them into vc4 Changes from v1: - Dropped the 340MHz define - Make drm_mode_hdmi_requires_scrambling use the bpc - Make more drm_display_mode const in vc4 - Dropped the tegra conversion - Added more comments Maxime Ripard (8): drm/vc4: hdmi: Constify drm_display_mode drm/vc4: hdmi: Remove unused argument in vc4_hdmi_supports_scrambling drm/vc4: hdmi: Remove mutex in detect drm/vc4: hdmi: Simplify the hotplug handling drm/vc4: hdmi: Switch to detect_ctx drm/vc4: hdmi: Move vc4_hdmi_supports_scrambling() around drm/vc4: hdmi: Reset link on hotplug drm/scdc: Document hotplug gotchas drivers/gpu/drm/display/drm_scdc_helper.c | 13 + drivers/gpu/drm/vc4/vc4_hdmi.c | 309 ++++++++++++++-------- drivers/gpu/drm/vc4/vc4_hdmi.h | 12 +- 3 files changed, 220 insertions(+), 114 deletions(-) -- 2.36.1