From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Chaoyi Chen <kernel@airkyi.com>
Cc: "Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Vinod Koul" <vkoul@kernel.org>,
"Chaoyi Chen" <chaoyi.chen@rock-chips.com>,
"Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-phy@lists.infradead.org
Subject: Re: [PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB
Date: Tue, 28 Jul 2026 04:08:14 +0200 [thread overview]
Message-ID: <amgMXujurBrB5B0L@venus> (raw)
In-Reply-To: <20260727064408.101-1-kernel@airkyi.com>
[-- Attachment #1: Type: text/plain, Size: 4047 bytes --]
Hello Chaoyi,
On Mon, Jul 27, 2026 at 02:44:03PM +0800, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>
> [1] https://lore.kernel.org/all/20260304094152.92-1-kernel@airkyi.com/
>
> ====
> 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/20260717072323.96-1-kernel@airkyi.com/
> - 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.
Greetings,
-- Sebastian
> Changes in v3:
> - Link to v2: https://lore.kernel.org/all/20260608070805.88-1-kernel@airkyi.com/
> (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/20260521032854.103-1-kernel@airkyi.com/
> - 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
>
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Chaoyi Chen <kernel@airkyi.com>
Cc: "Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Vinod Koul" <vkoul@kernel.org>,
"Chaoyi Chen" <chaoyi.chen@rock-chips.com>,
"Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-phy@lists.infradead.org
Subject: Re: [PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB
Date: Tue, 28 Jul 2026 04:08:14 +0200 [thread overview]
Message-ID: <amgMXujurBrB5B0L@venus> (raw)
In-Reply-To: <20260727064408.101-1-kernel@airkyi.com>
[-- Attachment #1.1: Type: text/plain, Size: 4047 bytes --]
Hello Chaoyi,
On Mon, Jul 27, 2026 at 02:44:03PM +0800, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>
> [1] https://lore.kernel.org/all/20260304094152.92-1-kernel@airkyi.com/
>
> ====
> 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/20260717072323.96-1-kernel@airkyi.com/
> - 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.
Greetings,
-- Sebastian
> Changes in v3:
> - Link to v2: https://lore.kernel.org/all/20260608070805.88-1-kernel@airkyi.com/
> (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/20260521032854.103-1-kernel@airkyi.com/
> - 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
>
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 112 bytes --]
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (diff)
From: Sebastian Reichel <sebastian.reichel@collabora.com>
To: Chaoyi Chen <kernel@airkyi.com>
Cc: "Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Luca Ceresoli" <luca.ceresoli@bootlin.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Vinod Koul" <vkoul@kernel.org>,
"Chaoyi Chen" <chaoyi.chen@rock-chips.com>,
"Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-phy@lists.infradead.org
Subject: Re: [PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB
Date: Tue, 28 Jul 2026 04:08:14 +0200 [thread overview]
Message-ID: <amgMXujurBrB5B0L@venus> (raw)
In-Reply-To: <20260727064408.101-1-kernel@airkyi.com>
[-- Attachment #1.1: Type: text/plain, Size: 4047 bytes --]
Hello Chaoyi,
On Mon, Jul 27, 2026 at 02:44:03PM +0800, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>
> [1] https://lore.kernel.org/all/20260304094152.92-1-kernel@airkyi.com/
>
> ====
> 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/20260717072323.96-1-kernel@airkyi.com/
> - 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.
Greetings,
-- Sebastian
> Changes in v3:
> - Link to v2: https://lore.kernel.org/all/20260608070805.88-1-kernel@airkyi.com/
> (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/20260521032854.103-1-kernel@airkyi.com/
> - 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
>
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2026-07-28 2:09 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-27 6:44 [PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` [PATCH v4 1/5] drm/bridge: Implement generic USB Type-C DP HPD bridge Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:58 ` sashiko-bot
2026-07-27 6:44 ` [PATCH v4 2/5] drm/bridge: aux: Add drm_aux_bridge_register_from_node() Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:53 ` sashiko-bot
2026-07-27 6:44 ` [PATCH v4 3/5] phy: rockchip: phy-rockchip-typec: Add DRM AUX bridge Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 7:01 ` sashiko-bot
2026-07-27 6:44 ` [PATCH v4 4/5] drm/rockchip: cdn-dp: Support handle lane info without extcon Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:55 ` sashiko-bot
2026-07-27 6:44 ` [PATCH v4 5/5] drm/rockchip: cdn-dp: Add multiple bridges to support PHY port selection Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:44 ` Chaoyi Chen
2026-07-27 6:59 ` sashiko-bot
2026-07-28 2:08 ` Sebastian Reichel [this message]
2026-07-28 2:08 ` [PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB Sebastian Reichel
2026-07-28 2:08 ` Sebastian Reichel
2026-07-28 2:33 ` Chaoyi Chen
2026-07-28 2:33 ` Chaoyi Chen
2026-07-28 2:33 ` Chaoyi Chen
2026-07-28 10:44 ` Sebastian Reichel
2026-07-28 10:44 ` Sebastian Reichel
2026-07-28 10:44 ` Sebastian Reichel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=amgMXujurBrB5B0L@venus \
--to=sebastian.reichel@collabora.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=andy.yan@rock-chips.com \
--cc=chaoyi.chen@rock-chips.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=kernel@airkyi.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=luca.ceresoli@bootlin.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.frattaroli@collabora.com \
--cc=rfoss@kernel.org \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.