dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer
@ 2023-06-15 20:15 Marek Vasut
  2023-06-30  8:04 ` Jagan Teki
  2023-07-03  7:27 ` Neil Armstrong
  0 siblings, 2 replies; 4+ messages in thread
From: Marek Vasut @ 2023-06-15 20:15 UTC (permalink / raw)
  To: dri-devel
  Cc: Marek Vasut, Neil Armstrong, Robert Foss, Andrzej Hajda,
	Jonas Karlman, Jernej Skrabec, Jagan Teki, Marek Szyprowski,
	Laurent Pinchart

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.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Robert Foss <rfoss@kernel.org>
Cc: dri-devel@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())
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer
  2023-06-15 20:15 [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer Marek Vasut
@ 2023-06-30  8:04 ` Jagan Teki
  2023-07-03  7:27 ` Neil Armstrong
  1 sibling, 0 replies; 4+ messages in thread
From: Jagan Teki @ 2023-06-30  8:04 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Neil Armstrong, Robert Foss, Andrzej Hajda, Jonas Karlman,
	Jernej Skrabec, dri-devel, Marek Szyprowski, Laurent Pinchart

On Fri, Jun 16, 2023 at 1:45 AM Marek Vasut <marex@denx.de> 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.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---

Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Jagan Teki <jagan@amarulasolutions.com> # imx8mm-icore

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer
  2023-06-15 20:15 [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer Marek Vasut
  2023-06-30  8:04 ` Jagan Teki
@ 2023-07-03  7:27 ` Neil Armstrong
  2023-07-03  8:38   ` Marek Vasut
  1 sibling, 1 reply; 4+ messages in thread
From: Neil Armstrong @ 2023-07-03  7:27 UTC (permalink / raw)
  To: Marek Vasut, dri-devel
  Cc: Robert Foss, Andrzej Hajda, Jonas Karlman, Jernej Skrabec,
	Jagan Teki, Marek Szyprowski, Laurent Pinchart

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@denx.de>
> ---
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Inki Dae <inki.dae@samsung.com>
> Cc: Jagan Teki <jagan@amarulasolutions.com>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Robert Foss <rfoss@kernel.org>
> Cc: dri-devel@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())


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer
  2023-07-03  7:27 ` Neil Armstrong
@ 2023-07-03  8:38   ` Marek Vasut
  0 siblings, 0 replies; 4+ messages in thread
From: Marek Vasut @ 2023-07-03  8:38 UTC (permalink / raw)
  To: neil.armstrong, dri-devel
  Cc: Robert Foss, Andrzej Hajda, Jonas Karlman, Jernej Skrabec,
	Jagan Teki, Marek Szyprowski, Laurent Pinchart

On 7/3/23 09:27, Neil Armstrong wrote:
> 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.

I'm afraid that is no longer possible, I already applied it to 
drm-misc-next. I'll make a note to ping Greg when it hits Linus tree.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-07-03  9:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-15 20:15 [PATCH] drm: bridge: samsung-dsim: Drain command transfer FIFO before transfer Marek Vasut
2023-06-30  8:04 ` Jagan Teki
2023-07-03  7:27 ` Neil Armstrong
2023-07-03  8:38   ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).