Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [PATCH 0/5] drm/msm/dsi: remove unused fields
@ 2023-10-09 20:57 Dmitry Baryshkov
  2023-10-09 20:57 ` [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer Dmitry Baryshkov
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

As a followup to [1], as suggested by Abhinav drop unused fields from
struct msm_dsi.

[1] https://patchwork.freedesktop.org/series/120125/

Dmitry Baryshkov (5):
  drm/msm/dsi: do not store internal bridge pointer
  drm/msm/dsi: drop msm_dsi_device_connected() function
  drm/msm/dsi: stop calling set_split_display
  drm/msm/dsi: remove msm_dsi::encoder
  drm/msm/mdp5: drop split display support

 .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c  | 42 ------------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c  | 42 ------------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c      | 14 ----
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h      |  9 ---
 drivers/gpu/drm/msm/dsi/dsi.c                 | 10 +--
 drivers/gpu/drm/msm/dsi/dsi.h                 | 22 +------
 drivers/gpu/drm/msm/dsi/dsi_manager.c         | 65 +++----------------
 drivers/gpu/drm/msm/msm_kms.h                 |  4 --
 8 files changed, 18 insertions(+), 190 deletions(-)

-- 
2.39.2


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

* [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
@ 2023-10-09 20:57 ` Dmitry Baryshkov
  2024-01-10 22:52   ` Abhinav Kumar
  2023-10-09 20:57 ` [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function Dmitry Baryshkov
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

Since the driver was switched to devm_drm_bridge_add(), there is no need
anymore to store the created bridge instance in struct msm_dsi. Drop
this field and pass data directly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/dsi/dsi.c         |  8 +++++---
 drivers/gpu/drm/msm/dsi/dsi.h         |  7 ++-----
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 19 ++++++++-----------
 3 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c
index 47f327e68471..c6d53cccb9ae 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -215,6 +215,7 @@ void __exit msm_dsi_unregister(void)
 int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
 			 struct drm_encoder *encoder)
 {
+	struct drm_bridge *bridge;
 	int ret;
 
 	msm_dsi->dev = dev;
@@ -236,13 +237,14 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
 
 	msm_dsi->encoder = encoder;
 
-	ret = msm_dsi_manager_bridge_init(msm_dsi);
-	if (ret) {
+	bridge = msm_dsi_manager_bridge_init(msm_dsi);
+	if (IS_ERR(bridge)) {
+		ret = PTR_ERR(bridge);
 		DRM_DEV_ERROR(dev->dev, "failed to create dsi bridge: %d\n", ret);
 		return ret;
 	}
 
-	ret = msm_dsi_manager_ext_bridge_init(msm_dsi->id);
+	ret = msm_dsi_manager_ext_bridge_init(msm_dsi->id, bridge);
 	if (ret) {
 		DRM_DEV_ERROR(dev->dev,
 			"failed to create dsi connector: %d\n", ret);
diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h
index a01c326774a6..269975002b95 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.h
@@ -35,9 +35,6 @@ struct msm_dsi {
 	struct drm_device *dev;
 	struct platform_device *pdev;
 
-	/* internal dsi bridge attached to MDP interface */
-	struct drm_bridge *bridge;
-
 	struct mipi_dsi_host *host;
 	struct msm_dsi_phy *phy;
 
@@ -56,8 +53,8 @@ struct msm_dsi {
 };
 
 /* dsi manager */
-int msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi);
-int msm_dsi_manager_ext_bridge_init(u8 id);
+struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi);
+int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge);
 int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg);
 bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len);
 int msm_dsi_manager_register(struct msm_dsi *msm_dsi);
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 17aa19bb6510..59f4728fc772 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -466,9 +466,9 @@ static const struct drm_bridge_funcs dsi_mgr_bridge_funcs = {
 };
 
 /* initialize bridge */
-int msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
+struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
 {
-	struct drm_bridge *bridge = NULL;
+	struct drm_bridge *bridge;
 	struct dsi_bridge *dsi_bridge;
 	struct drm_encoder *encoder;
 	int ret;
@@ -476,7 +476,7 @@ int msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
 	dsi_bridge = devm_kzalloc(msm_dsi->dev->dev,
 				sizeof(*dsi_bridge), GFP_KERNEL);
 	if (!dsi_bridge)
-		return -ENOMEM;
+		return ERR_PTR(-ENOMEM);
 
 	dsi_bridge->id = msm_dsi->id;
 
@@ -487,26 +487,23 @@ int msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
 
 	ret = devm_drm_bridge_add(&msm_dsi->pdev->dev, bridge);
 	if (ret)
-		return ret;
+		return ERR_PTR(ret);
 
 	ret = drm_bridge_attach(encoder, bridge, NULL, 0);
 	if (ret)
-		return ret;
+		return ERR_PTR(ret);
 
-	msm_dsi->bridge = bridge;
-
-	return 0;
+	return bridge;
 }
 
-int msm_dsi_manager_ext_bridge_init(u8 id)
+int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge)
 {
 	struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
 	struct drm_device *dev = msm_dsi->dev;
 	struct drm_encoder *encoder;
-	struct drm_bridge *int_bridge, *ext_bridge;
+	struct drm_bridge *ext_bridge;
 	int ret;
 
-	int_bridge = msm_dsi->bridge;
 	ext_bridge = devm_drm_of_get_bridge(&msm_dsi->pdev->dev,
 					    msm_dsi->pdev->dev.of_node, 1, 0);
 	if (IS_ERR(ext_bridge))
-- 
2.39.2


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

* [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
  2023-10-09 20:57 ` [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer Dmitry Baryshkov
@ 2023-10-09 20:57 ` Dmitry Baryshkov
  2024-01-10 22:53   ` Abhinav Kumar
  2023-10-09 20:57 ` [PATCH 3/5] drm/msm/dsi: stop calling set_split_display Dmitry Baryshkov
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

Since the commit 8f59ee9a570c ("drm/msm/dsi: Adjust probe order") the
DSI hosts are not bound through the component framework if the DSI
driver wasn't attached to the DSI device connected to this host.

Afterwards, if there is no bridge (including the panel bridge) created
for the DSI device then devm_drm_of_get_bridge() will return an error,
also making msm_dsi_manager_ext_bridge_init() and thus DSI modesetting
init fail.

This way there can be no 'unconnected' MSM DSI bridges. Remove the
msm_dsi_device_connected() function.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/dsi/dsi.h         | 6 ------
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 5 -----
 2 files changed, 11 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h
index 269975002b95..b7edcb7b3ddc 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.h
@@ -61,12 +61,6 @@ int msm_dsi_manager_register(struct msm_dsi *msm_dsi);
 void msm_dsi_manager_unregister(struct msm_dsi *msm_dsi);
 void msm_dsi_manager_tpg_enable(void);
 
-/* msm dsi */
-static inline bool msm_dsi_device_connected(struct msm_dsi *msm_dsi)
-{
-	return msm_dsi->external_bridge;
-}
-
 /* dsi host */
 struct msm_dsi_host;
 int msm_dsi_host_xfer_prepare(struct mipi_dsi_host *host,
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 59f4728fc772..af840a1e9fc0 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -305,8 +305,6 @@ static void dsi_mgr_bridge_pre_enable(struct drm_bridge *bridge)
 	int ret;
 
 	DBG("id=%d", id);
-	if (!msm_dsi_device_connected(msm_dsi))
-		return;
 
 	/* Do nothing with the host if it is slave-DSI in case of bonded DSI */
 	if (is_bonded_dsi && !IS_MASTER_DSI_LINK(id))
@@ -364,9 +362,6 @@ static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge)
 
 	DBG("id=%d", id);
 
-	if (!msm_dsi_device_connected(msm_dsi))
-		return;
-
 	/*
 	 * Do nothing with the host if it is slave-DSI in case of bonded DSI.
 	 * It is safe to call dsi_mgr_phy_disable() here because a single PHY
-- 
2.39.2


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

* [PATCH 3/5] drm/msm/dsi: stop calling set_split_display
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
  2023-10-09 20:57 ` [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer Dmitry Baryshkov
  2023-10-09 20:57 ` [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function Dmitry Baryshkov
@ 2023-10-09 20:57 ` Dmitry Baryshkov
  2024-01-10 22:56   ` Abhinav Kumar
  2023-10-09 20:57 ` [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder Dmitry Baryshkov
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

Since the commit 8b03ad30e314 ("drm/msm/dsi: Use one connector for dual
DSI mode"), the second DSI host in the bonded pair will not be
associated with the encoder and will not get the bridges, thus making
condition in msm_dsi_manager_set_split_display() always false.

Technically that change broke bonded DSI support in the MDP5 driver. But
since nobody complained in the last 5.5 years, it seems that nobody
cares enough.

Drop the msm_dsi_manager_set_split_display() completely and stop calling
the set_split_display() KMS callback. Also remove the
msm_dsi::external_bridge field which was only used by the mentioned
function.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/dsi/dsi.h         |  5 ----
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 35 ---------------------------
 2 files changed, 40 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h
index b7edcb7b3ddc..525c7ba22227 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.h
@@ -38,11 +38,6 @@ struct msm_dsi {
 	struct mipi_dsi_host *host;
 	struct msm_dsi_phy *phy;
 
-	/*
-	 * external_bridge connected to dsi bridge output
-	 */
-	struct drm_bridge *external_bridge;
-
 	struct device *phy_dev;
 	bool phy_enabled;
 
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index af840a1e9fc0..8eb73287dffb 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -198,36 +198,6 @@ static int dsi_mgr_bridge_get_id(struct drm_bridge *bridge)
 	return dsi_bridge->id;
 }
 
-static void msm_dsi_manager_set_split_display(u8 id)
-{
-	struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
-	struct msm_dsi *other_dsi = dsi_mgr_get_other_dsi(id);
-	struct msm_drm_private *priv = msm_dsi->dev->dev_private;
-	struct msm_kms *kms = priv->kms;
-	struct msm_dsi *master_dsi, *slave_dsi;
-
-	if (IS_BONDED_DSI() && !IS_MASTER_DSI_LINK(id)) {
-		master_dsi = other_dsi;
-		slave_dsi = msm_dsi;
-	} else {
-		master_dsi = msm_dsi;
-		slave_dsi = other_dsi;
-	}
-
-	if (!msm_dsi->external_bridge || !IS_BONDED_DSI())
-		return;
-
-	/*
-	 * Set split display info to kms once bonded DSI panel is connected to
-	 * both hosts.
-	 */
-	if (other_dsi && other_dsi->external_bridge && kms->funcs->set_split_display) {
-		kms->funcs->set_split_display(kms, master_dsi->encoder,
-					      slave_dsi->encoder,
-					      msm_dsi_is_cmd_mode(msm_dsi));
-	}
-}
-
 static int dsi_mgr_bridge_power_on(struct drm_bridge *bridge)
 {
 	int id = dsi_mgr_bridge_get_id(bridge);
@@ -504,8 +474,6 @@ int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge)
 	if (IS_ERR(ext_bridge))
 		return PTR_ERR(ext_bridge);
 
-	msm_dsi->external_bridge = ext_bridge;
-
 	encoder = msm_dsi->encoder;
 
 	/*
@@ -538,9 +506,6 @@ int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge)
 			return ret;
 	}
 
-	/* The pipeline is ready, ping encoders if necessary */
-	msm_dsi_manager_set_split_display(id);
-
 	return 0;
 }
 
-- 
2.39.2


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

* [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2023-10-09 20:57 ` [PATCH 3/5] drm/msm/dsi: stop calling set_split_display Dmitry Baryshkov
@ 2023-10-09 20:57 ` Dmitry Baryshkov
  2024-01-10 22:57   ` Abhinav Kumar
  2023-10-09 20:57 ` [PATCH 5/5] drm/msm/mdp5: drop split display support Dmitry Baryshkov
  2024-02-19 12:30 ` [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
  5 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

There is no need anymore to stop the drm_encoder instance in struct
msm_dsi. Remove corresponding field.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 drivers/gpu/drm/msm/dsi/dsi.c         | 4 +---
 drivers/gpu/drm/msm/dsi/dsi.h         | 6 ++----
 drivers/gpu/drm/msm/dsi/dsi_manager.c | 8 +++-----
 3 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c
index c6d53cccb9ae..33c3437b09de 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.c
+++ b/drivers/gpu/drm/msm/dsi/dsi.c
@@ -235,9 +235,7 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
 		return 0;
 	}
 
-	msm_dsi->encoder = encoder;
-
-	bridge = msm_dsi_manager_bridge_init(msm_dsi);
+	bridge = msm_dsi_manager_bridge_init(msm_dsi, encoder);
 	if (IS_ERR(bridge)) {
 		ret = PTR_ERR(bridge);
 		DRM_DEV_ERROR(dev->dev, "failed to create dsi bridge: %d\n", ret);
diff --git a/drivers/gpu/drm/msm/dsi/dsi.h b/drivers/gpu/drm/msm/dsi/dsi.h
index 525c7ba22227..d3380326d449 100644
--- a/drivers/gpu/drm/msm/dsi/dsi.h
+++ b/drivers/gpu/drm/msm/dsi/dsi.h
@@ -41,14 +41,12 @@ struct msm_dsi {
 	struct device *phy_dev;
 	bool phy_enabled;
 
-	/* the encoder we are hooked to (outside of dsi block) */
-	struct drm_encoder *encoder;
-
 	int id;
 };
 
 /* dsi manager */
-struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi);
+struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi,
+					       struct drm_encoder *encoder);
 int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge);
 int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg);
 bool msm_dsi_manager_cmd_xfer_trigger(int id, u32 dma_base, u32 len);
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
index 8eb73287dffb..101e79a6e281 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
@@ -431,11 +431,11 @@ static const struct drm_bridge_funcs dsi_mgr_bridge_funcs = {
 };
 
 /* initialize bridge */
-struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
+struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi,
+					       struct drm_encoder *encoder)
 {
 	struct drm_bridge *bridge;
 	struct dsi_bridge *dsi_bridge;
-	struct drm_encoder *encoder;
 	int ret;
 
 	dsi_bridge = devm_kzalloc(msm_dsi->dev->dev,
@@ -445,8 +445,6 @@ struct drm_bridge *msm_dsi_manager_bridge_init(struct msm_dsi *msm_dsi)
 
 	dsi_bridge->id = msm_dsi->id;
 
-	encoder = msm_dsi->encoder;
-
 	bridge = &dsi_bridge->base;
 	bridge->funcs = &dsi_mgr_bridge_funcs;
 
@@ -474,7 +472,7 @@ int msm_dsi_manager_ext_bridge_init(u8 id, struct drm_bridge *int_bridge)
 	if (IS_ERR(ext_bridge))
 		return PTR_ERR(ext_bridge);
 
-	encoder = msm_dsi->encoder;
+	encoder = int_bridge->encoder;
 
 	/*
 	 * Try first to create the bridge without it creating its own
-- 
2.39.2


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

* [PATCH 5/5] drm/msm/mdp5: drop split display support
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2023-10-09 20:57 ` [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder Dmitry Baryshkov
@ 2023-10-09 20:57 ` Dmitry Baryshkov
  2024-01-10 23:01   ` Abhinav Kumar
  2024-02-19 12:30 ` [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
  5 siblings, 1 reply; 13+ messages in thread
From: Dmitry Baryshkov @ 2023-10-09 20:57 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno

The MSM DSI driver has dropped support for calling
mdp_kms_funcs::set_split_display() callback. Drop corresponding callback
from the mdp5 driver together with the rest of the infrastructure.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c  | 42 -------------------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c  | 42 -------------------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c      | 14 -------
 drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h      |  9 ----
 drivers/gpu/drm/msm/msm_kms.h                 |  4 --
 5 files changed, 111 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
index a640af22eafc..e5662412db9b 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c
@@ -158,46 +158,4 @@ void mdp5_cmd_encoder_enable(struct drm_encoder *encoder)
 
 	mdp5_cmd_enc->enabled = true;
 }
-
-int mdp5_cmd_encoder_set_split_display(struct drm_encoder *encoder,
-				       struct drm_encoder *slave_encoder)
-{
-	struct mdp5_encoder *mdp5_cmd_enc = to_mdp5_encoder(encoder);
-	struct mdp5_kms *mdp5_kms;
-	struct device *dev;
-	int intf_num;
-	u32 data = 0;
-
-	if (!encoder || !slave_encoder)
-		return -EINVAL;
-
-	mdp5_kms = get_kms(encoder);
-	intf_num = mdp5_cmd_enc->intf->num;
-
-	/* Switch slave encoder's trigger MUX, to use the master's
-	 * start signal for the slave encoder
-	 */
-	if (intf_num == 1)
-		data |= MDP5_SPLIT_DPL_UPPER_INTF2_SW_TRG_MUX;
-	else if (intf_num == 2)
-		data |= MDP5_SPLIT_DPL_UPPER_INTF1_SW_TRG_MUX;
-	else
-		return -EINVAL;
-
-	/* Smart Panel, Sync mode */
-	data |= MDP5_SPLIT_DPL_UPPER_SMART_PANEL;
-
-	dev = &mdp5_kms->pdev->dev;
-
-	/* Make sure clocks are on when connectors calling this function. */
-	pm_runtime_get_sync(dev);
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_UPPER, data);
-
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_LOWER,
-		   MDP5_SPLIT_DPL_LOWER_SMART_PANEL);
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_EN, 1);
-	pm_runtime_put_sync(dev);
-
-	return 0;
-}
 #endif /* CONFIG_DRM_MSM_DSI */
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
index 79d67c495780..7c2092ca4040 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c
@@ -274,48 +274,6 @@ u32 mdp5_encoder_get_framecount(struct drm_encoder *encoder)
 	return mdp5_read(mdp5_kms, REG_MDP5_INTF_FRAME_COUNT(intf));
 }
 
-int mdp5_vid_encoder_set_split_display(struct drm_encoder *encoder,
-				       struct drm_encoder *slave_encoder)
-{
-	struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder);
-	struct mdp5_encoder *mdp5_slave_enc = to_mdp5_encoder(slave_encoder);
-	struct mdp5_kms *mdp5_kms;
-	struct device *dev;
-	int intf_num;
-	u32 data = 0;
-
-	if (!encoder || !slave_encoder)
-		return -EINVAL;
-
-	mdp5_kms = get_kms(encoder);
-	intf_num = mdp5_encoder->intf->num;
-
-	/* Switch slave encoder's TimingGen Sync mode,
-	 * to use the master's enable signal for the slave encoder.
-	 */
-	if (intf_num == 1)
-		data |= MDP5_SPLIT_DPL_LOWER_INTF2_TG_SYNC;
-	else if (intf_num == 2)
-		data |= MDP5_SPLIT_DPL_LOWER_INTF1_TG_SYNC;
-	else
-		return -EINVAL;
-
-	dev = &mdp5_kms->pdev->dev;
-	/* Make sure clocks are on when connectors calling this function. */
-	pm_runtime_get_sync(dev);
-
-	/* Dumb Panel, Sync mode */
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_UPPER, 0);
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_LOWER, data);
-	mdp5_write(mdp5_kms, REG_MDP5_SPLIT_DPL_EN, 1);
-
-	mdp5_ctl_pair(mdp5_encoder->ctl, mdp5_slave_enc->ctl, true);
-
-	pm_runtime_put_sync(dev);
-
-	return 0;
-}
-
 void mdp5_encoder_set_intf_mode(struct drm_encoder *encoder, bool cmd_mode)
 {
 	struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder);
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
index 11d9fc2c6bf5..22f2d2ec4a9c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
@@ -190,19 +190,6 @@ static void mdp5_complete_commit(struct msm_kms *kms, unsigned crtc_mask)
 		mdp5_smp_complete_commit(mdp5_kms->smp, &global_state->smp);
 }
 
-static int mdp5_set_split_display(struct msm_kms *kms,
-		struct drm_encoder *encoder,
-		struct drm_encoder *slave_encoder,
-		bool is_cmd_mode)
-{
-	if (is_cmd_mode)
-		return mdp5_cmd_encoder_set_split_display(encoder,
-							slave_encoder);
-	else
-		return mdp5_vid_encoder_set_split_display(encoder,
-							  slave_encoder);
-}
-
 static void mdp5_destroy(struct mdp5_kms *mdp5_kms);
 
 static void mdp5_kms_destroy(struct msm_kms *kms)
@@ -275,7 +262,6 @@ static const struct mdp_kms_funcs kms_funcs = {
 		.wait_flush      = mdp5_wait_flush,
 		.complete_commit = mdp5_complete_commit,
 		.get_format      = mdp_get_format,
-		.set_split_display = mdp5_set_split_display,
 		.destroy         = mdp5_kms_destroy,
 #ifdef CONFIG_DEBUG_FS
 		.debugfs_init    = mdp5_kms_debugfs_init,
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
index 29bf11f08601..ee68e9913f8c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h
@@ -291,8 +291,6 @@ struct drm_crtc *mdp5_crtc_init(struct drm_device *dev,
 
 struct drm_encoder *mdp5_encoder_init(struct drm_device *dev,
 		struct mdp5_interface *intf, struct mdp5_ctl *ctl);
-int mdp5_vid_encoder_set_split_display(struct drm_encoder *encoder,
-				       struct drm_encoder *slave_encoder);
 void mdp5_encoder_set_intf_mode(struct drm_encoder *encoder, bool cmd_mode);
 int mdp5_encoder_get_linecount(struct drm_encoder *encoder);
 u32 mdp5_encoder_get_framecount(struct drm_encoder *encoder);
@@ -303,8 +301,6 @@ void mdp5_cmd_encoder_mode_set(struct drm_encoder *encoder,
 			       struct drm_display_mode *adjusted_mode);
 void mdp5_cmd_encoder_disable(struct drm_encoder *encoder);
 void mdp5_cmd_encoder_enable(struct drm_encoder *encoder);
-int mdp5_cmd_encoder_set_split_display(struct drm_encoder *encoder,
-				       struct drm_encoder *slave_encoder);
 #else
 static inline void mdp5_cmd_encoder_mode_set(struct drm_encoder *encoder,
 					     struct drm_display_mode *mode,
@@ -317,11 +313,6 @@ static inline void mdp5_cmd_encoder_disable(struct drm_encoder *encoder)
 static inline void mdp5_cmd_encoder_enable(struct drm_encoder *encoder)
 {
 }
-static inline int mdp5_cmd_encoder_set_split_display(
-	struct drm_encoder *encoder, struct drm_encoder *slave_encoder)
-{
-	return -EINVAL;
-}
 #endif
 
 #endif /* __MDP5_KMS_H__ */
diff --git a/drivers/gpu/drm/msm/msm_kms.h b/drivers/gpu/drm/msm/msm_kms.h
index 44aa435d68ce..0641f6111b93 100644
--- a/drivers/gpu/drm/msm/msm_kms.h
+++ b/drivers/gpu/drm/msm/msm_kms.h
@@ -105,10 +105,6 @@ struct msm_kms_funcs {
 	/* misc: */
 	long (*round_pixclk)(struct msm_kms *kms, unsigned long rate,
 			struct drm_encoder *encoder);
-	int (*set_split_display)(struct msm_kms *kms,
-			struct drm_encoder *encoder,
-			struct drm_encoder *slave_encoder,
-			bool is_cmd_mode);
 	/* cleanup: */
 	void (*destroy)(struct msm_kms *kms);
 
-- 
2.39.2


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

* Re: [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer
  2023-10-09 20:57 ` [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer Dmitry Baryshkov
@ 2024-01-10 22:52   ` Abhinav Kumar
  0 siblings, 0 replies; 13+ messages in thread
From: Abhinav Kumar @ 2024-01-10 22:52 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno



On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> Since the driver was switched to devm_drm_bridge_add(), there is no need
> anymore to store the created bridge instance in struct msm_dsi. Drop
> this field and pass data directly.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/dsi/dsi.c         |  8 +++++---
>   drivers/gpu/drm/msm/dsi/dsi.h         |  7 ++-----
>   drivers/gpu/drm/msm/dsi/dsi_manager.c | 19 ++++++++-----------
>   3 files changed, 15 insertions(+), 19 deletions(-)
> 


Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function
  2023-10-09 20:57 ` [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function Dmitry Baryshkov
@ 2024-01-10 22:53   ` Abhinav Kumar
  0 siblings, 0 replies; 13+ messages in thread
From: Abhinav Kumar @ 2024-01-10 22:53 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno



On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> Since the commit 8f59ee9a570c ("drm/msm/dsi: Adjust probe order") the
> DSI hosts are not bound through the component framework if the DSI
> driver wasn't attached to the DSI device connected to this host.
> 
> Afterwards, if there is no bridge (including the panel bridge) created
> for the DSI device then devm_drm_of_get_bridge() will return an error,
> also making msm_dsi_manager_ext_bridge_init() and thus DSI modesetting
> init fail.
> 
> This way there can be no 'unconnected' MSM DSI bridges. Remove the
> msm_dsi_device_connected() function.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/dsi/dsi.h         | 6 ------
>   drivers/gpu/drm/msm/dsi/dsi_manager.c | 5 -----
>   2 files changed, 11 deletions(-)
> 

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 3/5] drm/msm/dsi: stop calling set_split_display
  2023-10-09 20:57 ` [PATCH 3/5] drm/msm/dsi: stop calling set_split_display Dmitry Baryshkov
@ 2024-01-10 22:56   ` Abhinav Kumar
  0 siblings, 0 replies; 13+ messages in thread
From: Abhinav Kumar @ 2024-01-10 22:56 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno



On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> Since the commit 8b03ad30e314 ("drm/msm/dsi: Use one connector for dual
> DSI mode"), the second DSI host in the bonded pair will not be
> associated with the encoder and will not get the bridges, thus making
> condition in msm_dsi_manager_set_split_display() always false.
> 

You are referring to the other_dsi->external_bridge condition here right?

if (other_dsi && other_dsi->external_bridge && 
kms->funcs->set_split_display)


> Technically that change broke bonded DSI support in the MDP5 driver. But
> since nobody complained in the last 5.5 years, it seems that nobody
> cares enough.
> 

Unfortunate but true.

I dont have a problem with this unless someone wants to use split 
display with MDP5 and wants to fix this path.

> Drop the msm_dsi_manager_set_split_display() completely and stop calling
> the set_split_display() KMS callback. Also remove the
> msm_dsi::external_bridge field which was only used by the mentioned
> function.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/dsi/dsi.h         |  5 ----
>   drivers/gpu/drm/msm/dsi/dsi_manager.c | 35 ---------------------------
>   2 files changed, 40 deletions(-)
> 

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder
  2023-10-09 20:57 ` [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder Dmitry Baryshkov
@ 2024-01-10 22:57   ` Abhinav Kumar
  0 siblings, 0 replies; 13+ messages in thread
From: Abhinav Kumar @ 2024-01-10 22:57 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno



On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> There is no need anymore to stop the drm_encoder instance in struct
> msm_dsi. Remove corresponding field.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   drivers/gpu/drm/msm/dsi/dsi.c         | 4 +---
>   drivers/gpu/drm/msm/dsi/dsi.h         | 6 ++----
>   drivers/gpu/drm/msm/dsi/dsi_manager.c | 8 +++-----
>   3 files changed, 6 insertions(+), 12 deletions(-)
> 

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 5/5] drm/msm/mdp5: drop split display support
  2023-10-09 20:57 ` [PATCH 5/5] drm/msm/mdp5: drop split display support Dmitry Baryshkov
@ 2024-01-10 23:01   ` Abhinav Kumar
  2024-01-10 23:22     ` Dmitry Baryshkov
  0 siblings, 1 reply; 13+ messages in thread
From: Abhinav Kumar @ 2024-01-10 23:01 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno



On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> The MSM DSI driver has dropped support for calling
> mdp_kms_funcs::set_split_display() callback. Drop corresponding callback
> from the mdp5 driver together with the rest of the infrastructure.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>   .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c  | 42 -------------------
>   drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c  | 42 -------------------
>   drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c      | 14 -------
>   drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h      |  9 ----
>   drivers/gpu/drm/msm/msm_kms.h                 |  4 --
>   5 files changed, 111 deletions(-)
>

The programming inside the set_split_display() looks right from what i 
see, so whenever (if at all) bonded_dsi is implemented for mdp5, this 
will remain intact. Its just that there are no consumers left for 
set_split_display anymore so its dead code. If someone wants to add that 
support, I guess they have to start by reverting this commit first. If 
thats the plan and agreement,

Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>

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

* Re: [PATCH 5/5] drm/msm/mdp5: drop split display support
  2024-01-10 23:01   ` Abhinav Kumar
@ 2024-01-10 23:22     ` Dmitry Baryshkov
  0 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2024-01-10 23:22 UTC (permalink / raw)
  To: Abhinav Kumar
  Cc: Rob Clark, Sean Paul, Marijn Suijten, Stephen Boyd, David Airlie,
	Daniel Vetter, Bjorn Andersson, linux-arm-msm, dri-devel,
	freedreno

On Thu, 11 Jan 2024 at 01:01, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>
>
>
> On 10/9/2023 1:57 PM, Dmitry Baryshkov wrote:
> > The MSM DSI driver has dropped support for calling
> > mdp_kms_funcs::set_split_display() callback. Drop corresponding callback
> > from the mdp5 driver together with the rest of the infrastructure.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >   .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c  | 42 -------------------
> >   drivers/gpu/drm/msm/disp/mdp5/mdp5_encoder.c  | 42 -------------------
> >   drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c      | 14 -------
> >   drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h      |  9 ----
> >   drivers/gpu/drm/msm/msm_kms.h                 |  4 --
> >   5 files changed, 111 deletions(-)
> >
>
> The programming inside the set_split_display() looks right from what i
> see, so whenever (if at all) bonded_dsi is implemented for mdp5, this
> will remain intact. Its just that there are no consumers left for
> set_split_display anymore so its dead code. If someone wants to add that
> support, I guess they have to start by reverting this commit first. If
> thats the plan and agreement,

Either by reverting this commit or by introducing a wrapper like the
one present in dpu_encoder_virt.

>
> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>



-- 
With best wishes
Dmitry

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

* Re: [PATCH 0/5] drm/msm/dsi: remove unused fields
  2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2023-10-09 20:57 ` [PATCH 5/5] drm/msm/mdp5: drop split display support Dmitry Baryshkov
@ 2024-02-19 12:30 ` Dmitry Baryshkov
  5 siblings, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2024-02-19 12:30 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten,
	Dmitry Baryshkov
  Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
	linux-arm-msm, dri-devel, freedreno


On Mon, 09 Oct 2023 23:57:22 +0300, Dmitry Baryshkov wrote:
> As a followup to [1], as suggested by Abhinav drop unused fields from
> struct msm_dsi.
> 
> [1] https://patchwork.freedesktop.org/series/120125/
> 
> Dmitry Baryshkov (5):
>   drm/msm/dsi: do not store internal bridge pointer
>   drm/msm/dsi: drop msm_dsi_device_connected() function
>   drm/msm/dsi: stop calling set_split_display
>   drm/msm/dsi: remove msm_dsi::encoder
>   drm/msm/mdp5: drop split display support
> 
> [...]

Applied, thanks!

[1/5] drm/msm/dsi: do not store internal bridge pointer
      https://gitlab.freedesktop.org/lumag/msm/-/commit/ec97f371895f
[2/5] drm/msm/dsi: drop msm_dsi_device_connected() function
      https://gitlab.freedesktop.org/lumag/msm/-/commit/891a8d83c11d
[3/5] drm/msm/dsi: stop calling set_split_display
      https://gitlab.freedesktop.org/lumag/msm/-/commit/51c139615b33
[4/5] drm/msm/dsi: remove msm_dsi::encoder
      https://gitlab.freedesktop.org/lumag/msm/-/commit/89cdd4dee1f0
[5/5] drm/msm/mdp5: drop split display support
      https://gitlab.freedesktop.org/lumag/msm/-/commit/df3c7899946c

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

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

end of thread, other threads:[~2024-02-19 12:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-09 20:57 [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov
2023-10-09 20:57 ` [PATCH 1/5] drm/msm/dsi: do not store internal bridge pointer Dmitry Baryshkov
2024-01-10 22:52   ` Abhinav Kumar
2023-10-09 20:57 ` [PATCH 2/5] drm/msm/dsi: drop msm_dsi_device_connected() function Dmitry Baryshkov
2024-01-10 22:53   ` Abhinav Kumar
2023-10-09 20:57 ` [PATCH 3/5] drm/msm/dsi: stop calling set_split_display Dmitry Baryshkov
2024-01-10 22:56   ` Abhinav Kumar
2023-10-09 20:57 ` [PATCH 4/5] drm/msm/dsi: remove msm_dsi::encoder Dmitry Baryshkov
2024-01-10 22:57   ` Abhinav Kumar
2023-10-09 20:57 ` [PATCH 5/5] drm/msm/mdp5: drop split display support Dmitry Baryshkov
2024-01-10 23:01   ` Abhinav Kumar
2024-01-10 23:22     ` Dmitry Baryshkov
2024-02-19 12:30 ` [PATCH 0/5] drm/msm/dsi: remove unused fields Dmitry Baryshkov

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