drm/tegra: dsi: remove tegra_output_probe use
Subsystems (5)
cover drm/tegra: dsi: remove tegra_output_probe use
The tegra_output_probe() function parses DC, DSI, HDMI, and SOR nodes for panel phandles, OF graph endpoints, EDID, HPD GPIOs, and DDC buses. However, this function is redundant for DSI controllers that define the panel as a child node.
Furthermore, it creates conflicts with modern dual-mode panel bindings that use OF graph links to both DSI controllers. The function incorrectly treats these links as standard panel links and attempts to resolve a panel that should not be handled there. For example, this causes the Mi Pad panel to fail initialization.
Testing shows that bypassing this function allows the Mi Pad to work correctly while maintaining compatibility with other Tegra20 and Tegra114 DSI devices.
Svyatoslav Ryhel (2):
dt-bindings: display: tegra: document Tegra20 DSI port [RFC] drm/tegra: dsi: remove tegra_output_probe use
.../bindings/display/tegra/nvidia,tegra20-dsi.yaml | 6 ++++++ drivers/gpu/drm/tegra/dsi.c | 4 ---- 2 files changed, 6 insertions(+), 4 deletions(-)
Signature · 1 line
2.51.0
PATCH 1/2 dt-bindings: display: tegra: document Tegra20 DSI port
Document the optional port node, which is required for correctly modeling a dual-mode panel.
--- .../bindings/display/tegra/nvidia,tegra20-dsi.yaml | 6 ++++++ 1 file changed, 6 insertions(+)
Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml +6 -0
@@ -83,6 +83,12 @@ properties: gang up with in order to support up to 8 data lanes $ref: /schemas/types.yaml#/definitions/phandle + port: + description: specifies the connection port for the dual-mode panel + and is required only when the panel is operating in dual-mode + configuration. + $ref: /schemas/graph.yaml#/properties/port + allOf: - $ref: ../dsi-controller.yaml# - if:
Signature · 1 line
2.51.0
Rob Herring
maintainerRe: [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port
Quoted 2 lines · Svyatoslav Ryhel
Document the optional port node, which is required for correctly modeling a dual-mode panel.
Dual mode as in command mode and sync mode? Or do you mean dual link like panel-common-dual.yaml defines?
Quoted 26 lines
Signed-off-by Svyatoslav Ryhel <[email protected]>--- .../bindings/display/tegra/nvidia,tegra20-dsi.yaml | 6 ++++++ 1 file changed, 6 insertions(+)Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml +6
-0@@ -83,6 +83,12 @@ properties: gang up with in order to support up to 8 data lanes $ref: /schemas/types.yaml#/definitions/phandle + port: + description: specifies the connection port for the dual-mode panel + and is required only when the panel is operating in dual-mode + configuration. + $ref: /schemas/graph.yaml#/properties/port + allOf: - $ref: ../dsi-controller.yaml# - if:Signature · 1 line
2.51.0
Re: [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port
чт, 12 бер. 2026 р. о 16:57 Rob Herring <[email protected]> пише:
Quoted 8 lines · Svyatoslav Ryhel
Quoted 2 lines
Document the optional port node, which is required for correctly modeling a dual-mode panel.
Dual mode as in command mode and sync mode? Or do you mean dual link like
panel-common-dual.yamldefines?
Dual link like in panel-common-dual but that panel-common-dual should not be suitable for DSI controller/host. Tegra DSI expects panel to be defined as in dsi-controller.yaml while this port node is solely to cover dual-link mode panels.
Command mode and video/sync mode usually refer to how driver should work and usually are not mentioned in the schema.
Quoted 26 lines
Quoted 26 lines
Signed-off-by Svyatoslav Ryhel <[email protected]>--- .../bindings/display/tegra/nvidia,tegra20-dsi.yaml | 6 ++++++ 1 file changed, 6 insertions(+)Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml +6
-1@@ -83,6 +83,12 @@ properties: gang up with in order to support up to 8 data lanes $ref: /schemas/types.yaml#/definitions/phandle + port: + description: specifies the connection port for the dual-mode panel + and is required only when the panel is operating in dual-mode + configuration. + $ref: /schemas/graph.yaml#/properties/port + allOf: - $ref: ../dsi-controller.yaml# - if: --2.51.0
RFC PATCH 2/2 drm/tegra: dsi: remove tegra_output_probe use
In reply to Svyatoslav RyhelThe tegra_output_probe() function parses DC, DSI, HDMI, and SOR nodes for panel phandles, OF graph endpoints, EDID, HPD GPIOs, and DDC buses. However, this function is redundant for DSI controllers that define the panel as a child node.
Furthermore, it creates conflicts with modern dual-mode panel bindings that use OF graph links to both DSI controllers. The function incorrectly treats these links as standard panel links and attempts to resolve a panel that should not be handled there. For example, this causes the Mi Pad panel to fail initialization.
Testing shows that bypassing this function allows the Mi Pad to work correctly while maintaining compatibility with other Tegra20 and Tegra114 DSI devices.
--- drivers/gpu/drm/tegra/dsi.c | 4 ---- 1 file changed, 4 deletions(-)
drivers/gpu/drm/tegra/dsi.c +0 -4
@@ -1594,10 +1594,6 @@ static int tegra_dsi_probe(struct platform_device *pdev)if (err <0 )return err; - err =tegra_output_probe (&dsi->output); -if (err <0 ) -return err; - dsi->output.connector.polled =DRM_CONNECTOR_POLL_HPD ;/*
Signature · 1 line
2.51.0