]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/mxsfb/lcdif: use DRM_BRIDGE_ATTACH_NO_CONNECTOR and the bridge-connector
authorLuca Ceresoli <luca.ceresoli@bootlin.com>
Tue, 7 Apr 2026 12:24:25 +0000 (14:24 +0200)
committerLuca Ceresoli <luca.ceresoli@bootlin.com>
Tue, 14 Apr 2026 11:53:36 +0000 (13:53 +0200)
commitf604819d9cc9532f88bb4cbd76e7227532ce5abb
tree4f470d65adea01f17ba710aed6b35de5fc367279
parent06a2950fef18c0a8a26bee01b9550bf3006545c6
drm/mxsfb/lcdif: use DRM_BRIDGE_ATTACH_NO_CONNECTOR and the bridge-connector

Convert this driver to DRM_BRIDGE_ATTACH_NO_CONNECTOR and to the
drm_bridge_connector framework which is the current DRM bridge best
practice.

Based on the in-tree dts[i] files this introduces no regression. Based on
the kernel doc of drm_bridge_connector.c:

 * To make use of this helper, all bridges in the chain shall report bridge
 * operation flags (&drm_bridge->ops) and bridge output type
 * (&drm_bridge->type), as well as the DRM_BRIDGE_ATTACH_NO_CONNECTOR attach
 * flag (none of the bridges shall create a DRM connector directly).

and each of the 3 LCDIF blocks in the i.MX8MP, all of them comply with the
above requirement:

 * For the LCDIF3, the pipeline is:

   LCDIF3 -> fsl,imx8mp-hdmi-pvi -> fsl,imx8mp-hdmi-tx -> HDMI connector

   And the involved bridges are:

   * fsl,imx8mp-hdmi-pvi has ops = 0 (it doesn't set it) because it
     implements none the optional features mentioned by those flags, and it
     honors the DRM_BRIDGE_ATTACH_NO_CONNECTOR by propagating it

   * fsl,imx8mp-hdmi-tx is implemented based on dw-hdmi, which sets ops as
     appropriate and also propagates the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag

   * display-connector (enabled via the DT overlay if needed) sets ops and
     makes DRM_BRIDGE_ATTACH_NO_CONNECTOR mandatory

 * The LCDIF2 involves the panel-bridge, display-connector and lvds-decoder
   (even though only the pane-bridge is currently supported), and all these
   three also set ops as needed and propagate
   DRM_BRIDGE_ATTACH_NO_CONNECTOR or make it mandatory.

 * The LCDIF1 is used with the adv7511, tc358767 and the panel bridge
   drivers which also comply with the requirements.

Tested-by: Martyn Welch <martyn.welch@collabora.com>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> # TQMa8MPxL/MBa8MPxL
Reviewed-by: Liu Ying <victor.liu@nxp.com>
Link: https://patch.msgid.link/20260407-drm-lcdif-dbanc-v4-11-247a16e61ef9@bootlin.com
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
drivers/gpu/drm/mxsfb/Kconfig
drivers/gpu/drm/mxsfb/lcdif_drv.c