drm: exynos: dsi: Restore proper bridge chain order
Restore the proper bridge chain by finding the previous bridge in the chain instead of passing NULL. This establishes a proper bridge chain while attaching downstream bridges. Reviewed-by: Marek Vasut <marex@denx.de> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
4aa5fc8dbb
commit
1a1ce789e6
@ -1445,7 +1445,8 @@ static int exynos_dsi_attach(struct drm_bridge *bridge,
|
||||
{
|
||||
struct exynos_dsi *dsi = bridge_to_dsi(bridge);
|
||||
|
||||
return drm_bridge_attach(bridge->encoder, dsi->out_bridge, NULL, flags);
|
||||
return drm_bridge_attach(bridge->encoder, dsi->out_bridge, bridge,
|
||||
flags);
|
||||
}
|
||||
|
||||
static const struct drm_bridge_funcs exynos_dsi_bridge_funcs = {
|
||||
@ -1491,7 +1492,10 @@ static int exynos_dsi_host_attach(struct mipi_dsi_host *host,
|
||||
|
||||
drm_bridge_add(&dsi->bridge);
|
||||
|
||||
drm_bridge_attach(encoder, &dsi->bridge, NULL, 0);
|
||||
drm_bridge_attach(encoder, &dsi->bridge,
|
||||
list_first_entry_or_null(&encoder->bridge_chain,
|
||||
struct drm_bridge,
|
||||
chain_node), 0);
|
||||
|
||||
/*
|
||||
* This is a temporary solution and should be made by more generic way.
|
||||
@ -1726,6 +1730,7 @@ static int exynos_dsi_probe(struct platform_device *pdev)
|
||||
dsi->bridge.funcs = &exynos_dsi_bridge_funcs;
|
||||
dsi->bridge.of_node = dev->of_node;
|
||||
dsi->bridge.type = DRM_MODE_CONNECTOR_DSI;
|
||||
dsi->bridge.pre_enable_prev_first = true;
|
||||
|
||||
ret = component_add(dev, &exynos_dsi_component_ops);
|
||||
if (ret)
|
||||
|
Loading…
x
Reference in New Issue
Block a user