public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use
@ 2026-03-05 16:10 Svyatoslav Ryhel
  2026-03-05 16:10 ` [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port Svyatoslav Ryhel
  2026-03-05 16:10 ` [PATCH v1 2/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel
  0 siblings, 2 replies; 5+ messages in thread
From: Svyatoslav Ryhel @ 2026-03-05 16:10 UTC (permalink / raw)
  To: Thierry Reding, Thierry Reding, Mikko Perttunen, David Airlie,
	Simona Vetter, Maarten Lankhorst, Maxime Ripard, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter,
	Svyatoslav Ryhel
  Cc: dri-devel, devicetree, linux-tegra, linux-kernel

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(-)

-- 
2.51.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port
  2026-03-05 16:10 [PATCH v1 0/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel
@ 2026-03-05 16:10 ` Svyatoslav Ryhel
  2026-03-12 14:57   ` Rob Herring
  2026-03-05 16:10 ` [PATCH v1 2/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel
  1 sibling, 1 reply; 5+ messages in thread
From: Svyatoslav Ryhel @ 2026-03-05 16:10 UTC (permalink / raw)
  To: Thierry Reding, Thierry Reding, Mikko Perttunen, David Airlie,
	Simona Vetter, Maarten Lankhorst, Maxime Ripard, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter,
	Svyatoslav Ryhel
  Cc: dri-devel, devicetree, linux-tegra, linux-kernel

Document the optional port node, which is required for correctly modeling
a dual-mode panel.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 .../bindings/display/tegra/nvidia,tegra20-dsi.yaml          | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
index 59e1dc0813e7..0f4837648d17 100644
--- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
+++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
@@ -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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v1 2/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use
  2026-03-05 16:10 [PATCH v1 0/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel
  2026-03-05 16:10 ` [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port Svyatoslav Ryhel
@ 2026-03-05 16:10 ` Svyatoslav Ryhel
  1 sibling, 0 replies; 5+ messages in thread
From: Svyatoslav Ryhel @ 2026-03-05 16:10 UTC (permalink / raw)
  To: Thierry Reding, Thierry Reding, Mikko Perttunen, David Airlie,
	Simona Vetter, Maarten Lankhorst, Maxime Ripard, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter,
	Svyatoslav Ryhel
  Cc: dri-devel, devicetree, linux-tegra, linux-kernel

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.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
---
 drivers/gpu/drm/tegra/dsi.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c
index 55259b68c933..5fbce17ea1fa 100644
--- a/drivers/gpu/drm/tegra/dsi.c
+++ b/drivers/gpu/drm/tegra/dsi.c
@@ -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;
 
 	/*
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port
  2026-03-05 16:10 ` [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port Svyatoslav Ryhel
@ 2026-03-12 14:57   ` Rob Herring
  2026-03-12 15:17     ` Svyatoslav Ryhel
  0 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2026-03-12 14:57 UTC (permalink / raw)
  To: Svyatoslav Ryhel
  Cc: Thierry Reding, Thierry Reding, Mikko Perttunen, David Airlie,
	Simona Vetter, Maarten Lankhorst, Maxime Ripard,
	Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, dri-devel,
	devicetree, linux-tegra, linux-kernel

On Thu, Mar 05, 2026 at 06:10:34PM +0200, Svyatoslav Ryhel wrote:
> 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?

> 
> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> ---
>  .../bindings/display/tegra/nvidia,tegra20-dsi.yaml          | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> index 59e1dc0813e7..0f4837648d17 100644
> --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> @@ -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
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port
  2026-03-12 14:57   ` Rob Herring
@ 2026-03-12 15:17     ` Svyatoslav Ryhel
  0 siblings, 0 replies; 5+ messages in thread
From: Svyatoslav Ryhel @ 2026-03-12 15:17 UTC (permalink / raw)
  To: Rob Herring
  Cc: Thierry Reding, Thierry Reding, Mikko Perttunen, David Airlie,
	Simona Vetter, Maarten Lankhorst, Maxime Ripard,
	Krzysztof Kozlowski, Conor Dooley, Jonathan Hunter, dri-devel,
	devicetree, linux-tegra, linux-kernel

чт, 12 бер. 2026 р. о 16:57 Rob Herring <robh@kernel.org> пише:
>
> On Thu, Mar 05, 2026 at 06:10:34PM +0200, Svyatoslav Ryhel wrote:
> > 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?
>

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.

> >
> > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
> > ---
> >  .../bindings/display/tegra/nvidia,tegra20-dsi.yaml          | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> > index 59e1dc0813e7..0f4837648d17 100644
> > --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> > +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-dsi.yaml
> > @@ -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
> >

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-03-12 15:17 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 16:10 [PATCH v1 0/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel
2026-03-05 16:10 ` [PATCH v1 1/2] dt-bindings: display: tegra: document Tegra20 DSI port Svyatoslav Ryhel
2026-03-12 14:57   ` Rob Herring
2026-03-12 15:17     ` Svyatoslav Ryhel
2026-03-05 16:10 ` [PATCH v1 2/2] [RFC] drm/tegra: dsi: remove tegra_output_probe use Svyatoslav Ryhel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox