[PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer
Neil Armstrong
neil.armstrong at linaro.org
Mon Jul 3 07:27:17 UTC 2023
On 15/06/2023 22:15, Marek Vasut wrote:
> Wait until the command transfer FIFO is empty before loading in the next
> command. The previous behavior where the code waited until command transfer
> FIFO was not full suffered from transfer corruption, where the last command
> in the FIFO could be overwritten in case the FIFO indicates not full, but
> also does not have enough space to store another transfer yet.
>
I think you should add a Fixes tag since it solves a bug.
Neil
> Signed-off-by: Marek Vasut <marex at denx.de>
> ---
> Cc: Andrzej Hajda <andrzej.hajda at intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: David Airlie <airlied at gmail.com>
> Cc: Inki Dae <inki.dae at samsung.com>
> Cc: Jagan Teki <jagan at amarulasolutions.com>
> Cc: Jernej Skrabec <jernej.skrabec at gmail.com>
> Cc: Jonas Karlman <jonas at kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart at ideasonboard.com>
> Cc: Marek Szyprowski <m.szyprowski at samsung.com>
> Cc: Neil Armstrong <neil.armstrong at linaro.org>
> Cc: Robert Foss <rfoss at kernel.org>
> Cc: dri-devel at lists.freedesktop.org
> ---
> drivers/gpu/drm/bridge/samsung-dsim.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge/samsung-dsim.c
> index 043b8109e64aa..9b7a00bafeaaa 100644
> --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> @@ -1009,7 +1009,7 @@ static int samsung_dsim_wait_for_hdr_fifo(struct samsung_dsim *dsi)
> do {
> u32 reg = samsung_dsim_read(dsi, DSIM_FIFOCTRL_REG);
>
> - if (!(reg & DSIM_SFR_HEADER_FULL))
> + if (reg & DSIM_SFR_HEADER_EMPTY)
> return 0;
>
> if (!cond_resched())
More information about the dri-devel
mailing list