[PATCH 1/2] drm: bridge: dw-mipi-dsi: Handle NO_EOT_PACKET mode

Jagan Teki jagan at edgeble.ai
Mon Jan 23 18:46:46 UTC 2023


Many downstream bridges or panels followed by dw-mipi-dsi were
using MIPI_DSI_MODE_NO_EOT_PACKET.

So, handle the EOTP bits accordingly in the dw-mipi-dsi host.

Signed-off-by: Jagan Teki <jagan at edgeble.ai>
---
 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
index b2efecf7d160..47bd69d5ac99 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
@@ -664,7 +664,13 @@ static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi,
 
 static void dw_mipi_dsi_packet_handler_config(struct dw_mipi_dsi *dsi)
 {
-	dsi_write(dsi, DSI_PCKHDL_CFG, CRC_RX_EN | ECC_RX_EN | BTA_EN);
+	u32 val;
+
+	val = CRC_RX_EN | ECC_RX_EN | BTA_EN | EOTP_TX_EN;
+	if (dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)
+		val &= ~EOTP_TX_EN;
+
+	dsi_write(dsi, DSI_PCKHDL_CFG, val);
 }
 
 static void dw_mipi_dsi_video_packet_config(struct dw_mipi_dsi *dsi,
-- 
2.25.1



More information about the dri-devel mailing list