[PATCH] drm/mediatek: mtk_dsi: Add support for High Speed (HS) mode

CK Hu (胡俊光) ck.hu at mediatek.com
Fri Jan 16 00:15:48 PST 2026


On Thu, 2026-01-08 at 11:19 +0100, AngeloGioacchino Del Regno wrote:
> 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.

Reviewed-by: CK Hu <ck.hu at mediatek.com>

> 
> 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;



More information about the linux-arm-kernel mailing list