Hi Sebastian, On 7/28/2026 10:08 AM, Sebastian Reichel wrote: > Hello Chaoyi, > > On Mon, Jul 27, 2026 at 02:44:03PM +0800, Chaoyi Chen wrote: >> From: Chaoyi Chen <[email protected]> >> >> [1] https://lore.kernel.org/all/[email protected]/ >> >> ==== >> 1. Generic Type-C DP HPD bridge >> >> Currently, several USB-C controller drivers register their own DP HPD >> bridge via aux-hpd-bridge.c, each duplicating the same logic. For >> devicetree based platforms, the USB-C controller may vary across boards, >> and not every USB-C controller driver implements this feature. Patch 1 >> implements a generic DP HPD bridge that monitors Type-C bus events and >> automatically creates an HPD bridge when a Type-C port device with DP >> SVID is registered. >> >> 2. Multiple bridge model for CDN-DP >> >> The RK3399 has two USB/DP combo PHY and one CDN-DP controller. Patch 5 >> introduces a multi-bridge model where each PHY port gets a separate >> encoder and bridge, allowing flexible selection of the output PHY port. >> This is based on the DRM AUX HPD bridge rather than extcon. >> >> ==== >> Patch 1 adds generic USB Type-C DP HPD bridge (Dmitry, Heikki). >> Patch 2 adds new API drm_aux_bridge_register_from_node() (Neil). >> Patch 3 adds DRM AUX bridge support for RK3399 USBDP PHY (Neil). >> Patch 4 drops CDN-DP's extcon dependency when Type-C is present (Dmitry). >> Patch 5 adds multiple bridges to support PHY port selection (Dmitry, Luca). >> >> Changes in v4: >> - Link to v3: >> https://lore.kernel.org/all/[email protected]/ >> - Scan the entire typec_bus and attempt to register the hpd bridge, >> so as not to miss devices that were already added during initialization. > > While that may help with the module being loaded late, it does not > help with triggering the module load in the first place. > > The module does not have any MODULE_DEVICE_TABLE() helping with > that. So basically any system relying on the automatic hpd bridge > registration and using a modular kernel (e.g. the arm64 defconfig or > the kernels usually provided by Linux distributions) requires > manually loading that module to get any graphical output. >
Thank you for pointing this out. I will add it in v5. > Greetings, > > -- Sebastian > >> Changes in v3: >> - Link to v2: >> https://lore.kernel.org/all/[email protected]/ >> (Sorry, I forgot to add the "v2" title, so it looks like v1.) >> - Remove now-redundant call to drm_connector_attach_encoder() >> - Rebase to v7.2-rc2 >> >> Changes in v2: >> - Link to v1: >> https://lore.kernel.org/all/[email protected]/ >> - Add copyright text. >> - Remove useless goto. >> - Fix incorrect function names in the documentation comments. >> - Fix the check logic for dp->active_port (0 is valid). >> - Fix the uninitialized prev_port. >> - Remove duplicate logic from cdn_dp_switch_port(). >> - Fix the prototype of cdn_dp_bridge_hpd_notify(). >> - Properly release connector->fwnode. >> - Properly release next_bridge. >> >> Chaoyi Chen (5): >> drm/bridge: Implement generic USB Type-C DP HPD bridge >> drm/bridge: aux: Add drm_aux_bridge_register_from_node() >> phy: rockchip: phy-rockchip-typec: Add DRM AUX bridge >> drm/rockchip: cdn-dp: Support handle lane info without extcon >> drm/rockchip: cdn-dp: Add multiple bridges to support PHY port >> selection >> >> drivers/gpu/drm/bridge/Kconfig | 10 + >> drivers/gpu/drm/bridge/Makefile | 1 + >> drivers/gpu/drm/bridge/aux-bridge.c | 26 +- >> .../gpu/drm/bridge/aux-hpd-typec-dp-bridge.c | 64 ++++ >> drivers/gpu/drm/rockchip/Kconfig | 1 + >> drivers/gpu/drm/rockchip/cdn-dp-core.c | 358 ++++++++++++++---- >> drivers/gpu/drm/rockchip/cdn-dp-core.h | 18 +- >> drivers/phy/rockchip/Kconfig | 2 + >> drivers/phy/rockchip/phy-rockchip-typec.c | 13 +- >> include/drm/bridge/aux-bridge.h | 6 + >> 10 files changed, 428 insertions(+), 71 deletions(-) >> create mode 100644 drivers/gpu/drm/bridge/aux-hpd-typec-dp-bridge.c >> >> -- >> 2.53.0 >> >> -- Best, Chaoyi
