On 01/06/2025, Marek Vasut wrote:
> The dw-hdmi output_port is set to 1 in order to look for a connector
> next bridge in order to get DRM_BRIDGE_ATTACH_NO_CONNECTOR working.
> The output_port set to 1 makes the DW HDMI driver core look up the
> next bridge in DT, where the next bridge is often the hdmi-connector .
>
> Similar to 0af5e0b41110 ("drm/meson: encoder_hdmi: switch to bridge
> DRM_BRIDGE_ATTACH_NO_CONNECTOR")
>
> Note that looking at the upstream arch/arm64/boot/dts/freescale/imx8mp*dts ,
> the oldest commit which adds HDMI support is commit:
>
> 3e67a1ddd56d ("arm64: dts: imx8mp: Enable HDMI on TQMa8MPxL/MBa8MPxL")
>
> That already contains the HDMI connector node. Most follow up additions
> of HDMI support to another devices has been a variation of the same commit,
> including connector node, which is the proper way of eanbling HDMI on the
> i.MX8MP.
>
> The rest should be covered by output_port_optional which should make systems
> with DTs without HDMI connector node work, but such DTs should be updated and
> the HDMI connector node should be added.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Andrzej Hajda <[email protected]>
> Cc: David Airlie <[email protected]>
> Cc: Fabio Estevam <[email protected]>
> Cc: Jernej Skrabec <[email protected]>
> Cc: Jonas Karlman <[email protected]>
> Cc: Laurent Pinchart <[email protected]>
> Cc: Liu Ying <[email protected]>
> Cc: Maarten Lankhorst <[email protected]>
> Cc: Maxime Ripard <[email protected]>
> Cc: Neil Armstrong <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Robert Foss <[email protected]>
> Cc: Sascha Hauer <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Cc: Simona Vetter <[email protected]>
> Cc: Stefan Agner <[email protected]>
> Cc: Thomas Zimmermann <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> V2: No change
> V3: - Update commit message
> - Move select DRM_DISPLAY_CONNECTOR to DRM_IMX8MP_DW_HDMI_BRIDGE
> - Enable output_port_optional
> V4: - Remove select DRM_DISPLAY_CONNECTOR
> ---
> drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c
> b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c
> index 1e7a789ec2890..3d63200e468bf 100644
> --- a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c
> +++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c
> @@ -101,6 +101,8 @@ static int imx8mp_dw_hdmi_probe(struct platform_device
> *pdev)
> plat_data->phy_name = "SAMSUNG HDMI TX PHY";
> plat_data->priv_data = hdmi;
> plat_data->phy_force_vendor = true;
> + plat_data->output_port = 1;
How would you keep the behaviour of the connector after adding
DRM_BRIDGE_ATTACH_NO_CONNECTOR in display controller driver?
dw_hdmi_connector_create() implements CEC support at least. This was pointed
out in v2 and v3 comments.
https://lore.kernel.org/all/vvsj6ri2ke25nzocbq736yv7rphzma6pn3yk2uh7iu43zfe2sa@2fwye4k4w6he/
> + plat_data->output_port_optional = true;
>
> hdmi->dw_hdmi = dw_hdmi_probe(pdev, plat_data);
> if (IS_ERR(hdmi->dw_hdmi))
--
Regards,
Liu Ying