[PATCH v10 11/18] drm/bridge: analogix_dp: Apply drm_bridge_connector helper

Luca Ceresoli luca.ceresoli at bootlin.com
Fri Mar 13 10:10:54 PDT 2026


Hello Damon,

On Tue Mar 10, 2026 at 2:24 AM CET, Damon Ding wrote:
> Initialize bridge_connector for both Rockchip and Exynos encoder sides.
> Then, make DRM_BRIDGE_ATTACH_NO_CONNECTOR mandatory for Analogix bridge
> side, as the private &drm_connector is no longer created.
>
> The previous &drm_connector_funcs and &drm_connector_helper_funcs APIs
> are replaced by the corresponding &drm_bridge_funcs APIs:
>
> analogix_dp_atomic_check() -> analogix_dp_bridge_atomic_check()
> analogix_dp_detect()       -> analogix_dp_bridge_detect()
> analogix_dp_get_modes()    -> analogix_dp_bridge_get_modes()
>                               analogix_dp_bridge_edid_read()
>
> Additionally, the compatibilities of Analogix DP bridge based on whether
> the next bridge is a 'panel'. If it is, OP_MODES and OP_DETECT are
> supported; If not (the next bridge is a 'monitor' or a bridge chip),
> OP_EDID and OP_DETECT are supported.
>
> The devm_drm_bridge_add() is placed in analogix_dp_bind() instead of
> analogix_dp_probe(), because the type of next bridge (the panel, monitor
> or bridge chip) can only be determined after the probe process has fully
> completed.
>
> Signed-off-by: Damon Ding <damon.ding at rock-chips.com>
> Tested-by: Marek Szyprowski <m.szyprowski at samsung.com>
> Tested-by: Heiko Stuebner <heiko at sntech.de> (on rk3588)

...

> @@ -73,15 +72,12 @@ static int exynos_dp_bridge_attach(struct analogix_dp_plat_data *plat_data,
>  				   struct drm_bridge *bridge)
>  {
>  	struct exynos_dp_device *dp = to_dp(plat_data);
> -	enum drm_bridge_attach_flags flags = 0;
>  	int ret;
>
>  	/* Pre-empt DP connector creation if there's a bridge */
>  	if (plat_data->next_bridge) {
> -		if (dp->has_of_bridge)
> -			flags = DRM_BRIDGE_ATTACH_NO_CONNECTOR;
> -
> -		ret = drm_bridge_attach(&dp->encoder, plat_data->next_bridge, bridge, flags);
> +		ret = drm_bridge_attach(&dp->encoder, plat_data->next_bridge, bridge,
> +					DRM_BRIDGE_ATTACH_NO_CONNECTOR);

Should this be 'flags | DRM_BRIDGE_ATTACH_NO_CONNECTOR' to be future-proof?

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



More information about the Linux-rockchip mailing list