]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/bridge: cdns-dsi: Fix connecting to next bridge
authorAradhya Bhatia <a-bhatia1@ti.com>
Sat, 29 Mar 2025 11:39:12 +0000 (17:09 +0530)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Sun, 30 Mar 2025 16:47:12 +0000 (19:47 +0300)
Fix the OF node pointer passed to the of_drm_find_bridge() call to find
the next bridge in the display chain.

The code to find the next panel (and create its panel-bridge) works
fine, but to find the next (non-panel) bridge does not.

To find the next bridge in the pipeline, we need to pass "np" - the OF
node pointer of the next entity in the devicetree chain. Passing
"of_node" to of_drm_find_bridge (which is what the code does currently)
will fetch the bridge for the cdns-dsi which is not what's required.

Fix that.

Fixes: e19233955d9e ("drm/bridge: Add Cadence DSI driver")
Cc: stable@vger.kernel.org
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
Signed-off-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
Link: https://lore.kernel.org/r/20250329113925.68204-2-aradhya.bhatia@linux.dev
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c

index 99d43944fb8fc685520b78732cd1181175ff7cc9..1cfe17865b0645b818142381ea15cfa19c8c5d90 100644 (file)
@@ -966,7 +966,7 @@ static int cdns_dsi_attach(struct mipi_dsi_host *host,
                bridge = drm_panel_bridge_add_typed(panel,
                                                    DRM_MODE_CONNECTOR_DSI);
        } else {
-               bridge = of_drm_find_bridge(dev->dev.of_node);
+               bridge = of_drm_find_bridge(np);
                if (!bridge)
                        bridge = ERR_PTR(-EINVAL);
        }