* [PATCH v10 0/3] drm: exynos: dsi: Restore the bridge chain
@ 2022-12-12 14:55 Jagan Teki
2022-12-12 14:55 ` [PATCH v10 1/3] drm: panel: Enable prepare_prev_first flag for samsung-s6e panels Jagan Teki
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jagan Teki @ 2022-12-12 14:55 UTC (permalink / raw)
To: Marek Szyprowski, Inki Dae, Seung-Woo Kim, Kyungmin Park,
Neil Armstrong, Robert Foss, Andrzej Hajda, Sam Ravnborg
Cc: Marek Vasut, linux-samsung-soc, dri-devel, linux-amarula,
Jagan Teki
Split the Exynos DSI bridge chain update patches from Samsung DSIM
bridge driver for easy to apply.
Changes for v10:
- collect Marek.V Review tag
Any inputs?
Jagan.
Jagan Teki (1):
drm: panel: Enable prepare_prev_first flag for samsung-s6e panels
Marek Szyprowski (2):
drm/bridge: tc358764: Enable pre_enable_prev_first flag
drm: exynos: dsi: Restore proper bridge chain order
drivers/gpu/drm/bridge/tc358764.c | 1 +
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 8 ++++++--
drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 1 +
drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 1 +
drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 1 +
5 files changed, 10 insertions(+), 2 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v10 1/3] drm: panel: Enable prepare_prev_first flag for samsung-s6e panels
2022-12-12 14:55 [PATCH v10 0/3] drm: exynos: dsi: Restore the bridge chain Jagan Teki
@ 2022-12-12 14:55 ` Jagan Teki
2022-12-12 14:55 ` [PATCH v10 2/3] drm/bridge: tc358764: Enable pre_enable_prev_first flag Jagan Teki
2022-12-12 14:55 ` [PATCH v10 3/3] drm: exynos: dsi: Restore proper bridge chain order Jagan Teki
2 siblings, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2022-12-12 14:55 UTC (permalink / raw)
To: Marek Szyprowski, Inki Dae, Seung-Woo Kim, Kyungmin Park,
Neil Armstrong, Robert Foss, Andrzej Hajda, Sam Ravnborg
Cc: Marek Vasut, linux-samsung-soc, dri-devel, linux-amarula,
Jagan Teki
Enable the drm panel prepare_prev_first flag so-that the previous
controller should be prepared first before the prepare for the
panel is called.
samsung-s6e3ha2, samsung-s6e63j0x03 and samsung-s6e8aa0 are the
effected samsung-s6e panels for this change.
This makes sure that the previous controller, likely to be a DSI
host controller should be initialized to LP-11 before the panel
is powered up.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v10:
- none
drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c | 1 +
drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c | 1 +
drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
index 5c621b15e84c..1355b2c27932 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c
@@ -731,6 +731,7 @@ static int s6e3ha2_probe(struct mipi_dsi_device *dsi)
drm_panel_init(&ctx->panel, dev, &s6e3ha2_drm_funcs,
DRM_MODE_CONNECTOR_DSI);
+ ctx->panel.prepare_prev_first = true;
drm_panel_add(&ctx->panel);
diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
index e06fd35de814..3223a9d06a50 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c
@@ -462,6 +462,7 @@ static int s6e63j0x03_probe(struct mipi_dsi_device *dsi)
drm_panel_init(&ctx->panel, dev, &s6e63j0x03_funcs,
DRM_MODE_CONNECTOR_DSI);
+ ctx->panel.prepare_prev_first = true;
ctx->bl_dev = backlight_device_register("s6e63j0x03", dev, ctx,
&s6e63j0x03_bl_ops, NULL);
diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c b/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
index 54213beafaf5..362eb10f10ce 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c
@@ -1018,6 +1018,7 @@ static int s6e8aa0_probe(struct mipi_dsi_device *dsi)
drm_panel_init(&ctx->panel, dev, &s6e8aa0_drm_funcs,
DRM_MODE_CONNECTOR_DSI);
+ ctx->panel.prepare_prev_first = true;
drm_panel_add(&ctx->panel);
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v10 2/3] drm/bridge: tc358764: Enable pre_enable_prev_first flag
2022-12-12 14:55 [PATCH v10 0/3] drm: exynos: dsi: Restore the bridge chain Jagan Teki
2022-12-12 14:55 ` [PATCH v10 1/3] drm: panel: Enable prepare_prev_first flag for samsung-s6e panels Jagan Teki
@ 2022-12-12 14:55 ` Jagan Teki
2022-12-12 14:55 ` [PATCH v10 3/3] drm: exynos: dsi: Restore proper bridge chain order Jagan Teki
2 siblings, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2022-12-12 14:55 UTC (permalink / raw)
To: Marek Szyprowski, Inki Dae, Seung-Woo Kim, Kyungmin Park,
Neil Armstrong, Robert Foss, Andrzej Hajda, Sam Ravnborg
Cc: Marek Vasut, linux-samsung-soc, dri-devel, linux-amarula,
Jagan Teki
From: Marek Szyprowski <m.szyprowski@samsung.com>
Enable the drm bridge pre_enable_prev_first flag so that the
previous bridge pre_enable should be called first before the
pre_enable for the tc358764 bridge is called.
This makes sure that the previous bridge should be initialized
properly before the tc358764 bridge is powered up.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v10:
- none
drivers/gpu/drm/bridge/tc358764.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/bridge/tc358764.c b/drivers/gpu/drm/bridge/tc358764.c
index 53259c12d777..f85654f1b104 100644
--- a/drivers/gpu/drm/bridge/tc358764.c
+++ b/drivers/gpu/drm/bridge/tc358764.c
@@ -369,6 +369,7 @@ static int tc358764_probe(struct mipi_dsi_device *dsi)
ctx->bridge.funcs = &tc358764_bridge_funcs;
ctx->bridge.of_node = dev->of_node;
+ ctx->bridge.pre_enable_prev_first = true;
drm_bridge_add(&ctx->bridge);
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v10 3/3] drm: exynos: dsi: Restore proper bridge chain order
2022-12-12 14:55 [PATCH v10 0/3] drm: exynos: dsi: Restore the bridge chain Jagan Teki
2022-12-12 14:55 ` [PATCH v10 1/3] drm: panel: Enable prepare_prev_first flag for samsung-s6e panels Jagan Teki
2022-12-12 14:55 ` [PATCH v10 2/3] drm/bridge: tc358764: Enable pre_enable_prev_first flag Jagan Teki
@ 2022-12-12 14:55 ` Jagan Teki
2 siblings, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2022-12-12 14:55 UTC (permalink / raw)
To: Marek Szyprowski, Inki Dae, Seung-Woo Kim, Kyungmin Park,
Neil Armstrong, Robert Foss, Andrzej Hajda, Sam Ravnborg
Cc: Marek Vasut, linux-samsung-soc, dri-devel, linux-amarula,
Jagan Teki
From: Marek Szyprowski <m.szyprowski@samsung.com>
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>
---
Changes for v10:
- collect Marek review tag
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_dsi.c b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
index ec673223d6b7..e5b1540c4ae4 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_dsi.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_dsi.c
@@ -1428,7 +1428,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 = {
@@ -1474,7 +1475,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.
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-12-12 14:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-12 14:55 [PATCH v10 0/3] drm: exynos: dsi: Restore the bridge chain Jagan Teki
2022-12-12 14:55 ` [PATCH v10 1/3] drm: panel: Enable prepare_prev_first flag for samsung-s6e panels Jagan Teki
2022-12-12 14:55 ` [PATCH v10 2/3] drm/bridge: tc358764: Enable pre_enable_prev_first flag Jagan Teki
2022-12-12 14:55 ` [PATCH v10 3/3] drm: exynos: dsi: Restore proper bridge chain order Jagan Teki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox