mirror of https://github.com/armbian/build.git
79 lines
3.0 KiB
Diff
79 lines
3.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
|
Date: Sun, 4 Jun 2023 21:44:33 +0300
|
|
Subject: drm/msm/dsi: change sync mode to sync on DSI0 rather than DSI1
|
|
|
|
Change MSM DSI's sync-dual-dsi mode to resync on DSI0 rather than DSI1.
|
|
|
|
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
|
---
|
|
drivers/gpu/drm/msm/dsi/dsi_manager.c | 24 +++++-----
|
|
1 file changed, 12 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
|
|
index 111111111111..222222222222 100644
|
|
--- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
|
|
+++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
|
|
@@ -494,7 +494,7 @@ int msm_dsi_manager_connector_init(struct msm_dsi *msm_dsi,
|
|
int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg)
|
|
{
|
|
struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
|
|
- struct msm_dsi *msm_dsi0 = dsi_mgr_get_dsi(DSI_0);
|
|
+ struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1);
|
|
struct mipi_dsi_host *host = msm_dsi->host;
|
|
bool is_read = (msg->rx_buf && msg->rx_len);
|
|
bool need_sync = (IS_SYNC_NEEDED() && !is_read);
|
|
@@ -505,14 +505,14 @@ int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg)
|
|
|
|
/* In bonded master case, panel requires the same commands sent to
|
|
* both DSI links. Host issues the command trigger to both links
|
|
- * when DSI_1 calls the cmd transfer function, no matter it happens
|
|
- * before or after DSI_0 cmd transfer.
|
|
+ * when DSI_0 calls the cmd transfer function, no matter it happens
|
|
+ * before or after DSI_1 cmd transfer.
|
|
*/
|
|
- if (need_sync && (id == DSI_0))
|
|
+ if (need_sync && (id == DSI_1))
|
|
return is_read ? msg->rx_len : msg->tx_len;
|
|
|
|
- if (need_sync && msm_dsi0) {
|
|
- ret = msm_dsi_host_xfer_prepare(msm_dsi0->host, msg);
|
|
+ if (need_sync && msm_dsi1) {
|
|
+ ret = msm_dsi_host_xfer_prepare(msm_dsi1->host, msg);
|
|
if (ret) {
|
|
pr_err("%s: failed to prepare non-trigger host, %d\n",
|
|
__func__, ret);
|
|
@@ -531,8 +531,8 @@ int msm_dsi_manager_cmd_xfer(int id, const struct mipi_dsi_msg *msg)
|
|
msm_dsi_host_xfer_restore(host, msg);
|
|
|
|
restore_host0:
|
|
- if (need_sync && msm_dsi0)
|
|
- msm_dsi_host_xfer_restore(msm_dsi0->host, msg);
|
|
+ if (need_sync && msm_dsi1)
|
|
+ msm_dsi_host_xfer_restore(msm_dsi1->host, msg);
|
|
|
|
return ret;
|
|
}
|
|
@@ -540,14 +540,14 @@ 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)
|
|
{
|
|
struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
|
|
- struct msm_dsi *msm_dsi0 = dsi_mgr_get_dsi(DSI_0);
|
|
+ struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1);
|
|
struct mipi_dsi_host *host = msm_dsi->host;
|
|
|
|
- if (IS_SYNC_NEEDED() && (id == DSI_0))
|
|
+ if (IS_SYNC_NEEDED() && (id == DSI_1))
|
|
return false;
|
|
|
|
- if (IS_SYNC_NEEDED() && msm_dsi0)
|
|
- msm_dsi_host_cmd_xfer_commit(msm_dsi0->host, dma_base, len);
|
|
+ if (IS_SYNC_NEEDED() && msm_dsi1)
|
|
+ msm_dsi_host_cmd_xfer_commit(msm_dsi1->host, dma_base, len);
|
|
|
|
msm_dsi_host_cmd_xfer_commit(host, dma_base, len);
|
|
|
|
--
|
|
Armbian
|
|
|