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 <[email protected]> --- 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
