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

Sam Ravnborg sam at ravnborg.org
Mon Jan 23 20:19:42 UTC 2023


Hi Jagan.

One small drive-by comment.

On Tue, Jan 24, 2023 at 12:16:46AM +0530, Jagan Teki wrote:
> 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;

I had to look twice because the bit is set, and then maybe cleared.

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

	Sam


More information about the dri-devel mailing list