[PATCH] drm/mediatek: mtk_dsi: Add support for High Speed (HS) mode
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Thu Jan 8 02:19:59 PST 2026
Up until now, the MediaTek DSI Controller has always been working
in Low Power Mode (LPM), as this driver has always ignored the
MIPI_DSI_MSG_USE_LPM flag hence never setting HS mode.
In the current state of the driver the only thing that is needed
to add support for DSI High Speed (HS) transmit is to simply set
the "HSTX" config bit in the configuration register.
Check if flag MIPI_DSI_MSG_USE_LPM is set and, if not, set HSTX.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
---
drivers/gpu/drm/mediatek/mtk_dsi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index e4953d5cb6a8..a90cae9512c5 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -155,6 +155,7 @@
#define SHORT_PACKET 0
#define LONG_PACKET 2
#define BTA BIT(2)
+#define HSTX BIT(3)
#define DATA_ID GENMASK(15, 8)
#define DATA_0 GENMASK(23, 16)
#define DATA_1 GENMASK(31, 24)
@@ -1177,6 +1178,9 @@ static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg)
else
config = (msg->tx_len > 2) ? LONG_PACKET : SHORT_PACKET;
+ if (!(msg->flags & MIPI_DSI_MSG_USE_LPM))
+ config |= HSTX;
+
if (msg->tx_len > 2) {
cmdq_size = 1 + (msg->tx_len + 3) / 4;
cmdq_off = 4;
--
2.52.0
More information about the Linux-mediatek
mailing list