Message ID | 20250105190659.99941-2-marex@denx.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v4,1/4] drm: bridge: dw_hdmi: Add flag to indicate output port is optional | expand |
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 <marex@denx.de> > --- > Cc: Andrzej Hajda <andrzej.hajda@intel.com> > Cc: David Airlie <airlied@gmail.com> > Cc: Fabio Estevam <festevam@gmail.com> > Cc: Jernej Skrabec <jernej.skrabec@gmail.com> > Cc: Jonas Karlman <jonas@kwiboo.se> > Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> > Cc: Liu Ying <victor.liu@nxp.com> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de> > Cc: Robert Foss <rfoss@kernel.org> > Cc: Sascha Hauer <s.hauer@pengutronix.de> > Cc: Shawn Guo <shawnguo@kernel.org> > Cc: Simona Vetter <simona@ffwll.ch> > Cc: Stefan Agner <stefan@agner.ch> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: dri-devel@lists.freedesktop.org > Cc: imx@lists.linux.dev > Cc: linux-arm-kernel@lists.infradead.org > --- > 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))
On 1/7/25 6:38 AM, Liu Ying wrote: > 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 <marex@denx.de> >> --- >> Cc: Andrzej Hajda <andrzej.hajda@intel.com> >> Cc: David Airlie <airlied@gmail.com> >> Cc: Fabio Estevam <festevam@gmail.com> >> Cc: Jernej Skrabec <jernej.skrabec@gmail.com> >> Cc: Jonas Karlman <jonas@kwiboo.se> >> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> >> Cc: Liu Ying <victor.liu@nxp.com> >> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> >> Cc: Maxime Ripard <mripard@kernel.org> >> Cc: Neil Armstrong <neil.armstrong@linaro.org> >> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> >> Cc: Robert Foss <rfoss@kernel.org> >> Cc: Sascha Hauer <s.hauer@pengutronix.de> >> Cc: Shawn Guo <shawnguo@kernel.org> >> Cc: Simona Vetter <simona@ffwll.ch> >> Cc: Stefan Agner <stefan@agner.ch> >> Cc: Thomas Zimmermann <tzimmermann@suse.de> >> Cc: dri-devel@lists.freedesktop.org >> Cc: imx@lists.linux.dev >> Cc: linux-arm-kernel@lists.infradead.org >> --- >> 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/ As far as I understand it, the CEC is being worked on separately already ?
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; + plat_data->output_port_optional = true; hdmi->dw_hdmi = dw_hdmi_probe(pdev, plat_data); if (IS_ERR(hdmi->dw_hdmi))
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 <marex@denx.de> --- Cc: Andrzej Hajda <andrzej.hajda@intel.com> Cc: David Airlie <airlied@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Jernej Skrabec <jernej.skrabec@gmail.com> Cc: Jonas Karlman <jonas@kwiboo.se> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Liu Ying <victor.liu@nxp.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: Neil Armstrong <neil.armstrong@linaro.org> Cc: Pengutronix Kernel Team <kernel@pengutronix.de> Cc: Robert Foss <rfoss@kernel.org> Cc: Sascha Hauer <s.hauer@pengutronix.de> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Simona Vetter <simona@ffwll.ch> Cc: Stefan Agner <stefan@agner.ch> Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: dri-devel@lists.freedesktop.org Cc: imx@lists.linux.dev Cc: linux-arm-kernel@lists.infradead.org --- 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(+)