[PATCH] spi: zynqmp_qspi: Workaround for small data cache issue

Cache related issues are seen with small sized data reads. Due to this, proper data is not read. Also some times sf probe fails randomly. To workaround this issue, invalidate dcache after read DMA is triggered.
Signed-off-by: Ashok Reddy Soma ashok.reddy.soma@amd.com Signed-off-by: Venkatesh Yadav Abbarapu venkatesh.abbarapu@amd.com --- drivers/spi/zynqmp_gqspi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c index a506d15227..ec59ef5804 100644 --- a/drivers/spi/zynqmp_gqspi.c +++ b/drivers/spi/zynqmp_gqspi.c @@ -707,6 +707,8 @@ static int zynqmp_qspi_start_dma(struct zynqmp_qspi_priv *priv, return -ETIMEDOUT; }
+ invalidate_dcache_range(addr, addr + size); + writel(GQSPI_DMA_DST_I_STS_DONE, &dma_regs->dmaisr);
debug("buf:0x%lx, rxbuf:0x%lx, *buf:0x%x len: 0x%x\n",

On 9/14/23 12:48, Venkatesh Yadav Abbarapu wrote:
Cache related issues are seen with small sized data reads. Due to this, proper data is not read. Also some times sf probe fails randomly. To workaround this issue, invalidate dcache after read DMA is triggered.
Signed-off-by: Ashok Reddy Soma ashok.reddy.soma@amd.com Signed-off-by: Venkatesh Yadav Abbarapu venkatesh.abbarapu@amd.com
drivers/spi/zynqmp_gqspi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c index a506d15227..ec59ef5804 100644 --- a/drivers/spi/zynqmp_gqspi.c +++ b/drivers/spi/zynqmp_gqspi.c @@ -707,6 +707,8 @@ static int zynqmp_qspi_start_dma(struct zynqmp_qspi_priv *priv, return -ETIMEDOUT; }
invalidate_dcache_range(addr, addr + size);
writel(GQSPI_DMA_DST_I_STS_DONE, &dma_regs->dmaisr);
debug("buf:0x%lx, rxbuf:0x%lx, *buf:0x%x len: 0x%x\n",
I got two patches. Which one is correct? Can you please send v2?
M

Hi Michal,
-----Original Message----- From: Simek, Michal michal.simek@amd.com Sent: Thursday, September 14, 2023 7:34 PM To: Abbarapu, Venkatesh venkatesh.abbarapu@amd.com; u- boot@lists.denx.de Cc: jagan@amarulasolutions.com; git@xilinx.com; Ashok Reddy Soma ashok.reddy.soma@amd.com Subject: Re: [PATCH] spi: zynqmp_qspi: Workaround for small data cache issue
On 9/14/23 12:48, Venkatesh Yadav Abbarapu wrote:
Cache related issues are seen with small sized data reads. Due to this, proper data is not read. Also some times sf probe fails randomly. To workaround this issue, invalidate dcache after read DMA is triggered.
Signed-off-by: Ashok Reddy Soma ashok.reddy.soma@amd.com Signed-off-by: Venkatesh Yadav Abbarapu
drivers/spi/zynqmp_gqspi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/spi/zynqmp_gqspi.c b/drivers/spi/zynqmp_gqspi.c index a506d15227..ec59ef5804 100644 --- a/drivers/spi/zynqmp_gqspi.c +++ b/drivers/spi/zynqmp_gqspi.c @@ -707,6 +707,8 @@ static int zynqmp_qspi_start_dma(struct
zynqmp_qspi_priv *priv,
return -ETIMEDOUT; }
invalidate_dcache_range(addr, addr + size);
writel(GQSPI_DMA_DST_I_STS_DONE, &dma_regs->dmaisr);
debug("buf:0x%lx, rxbuf:0x%lx, *buf:0x%x len: 0x%x\n",
I got two patches. Which one is correct? Can you please send v2?
There are two patches. Will send v2 as series.
Thanks Venkatesh
M
participants (3)
-
Abbarapu, Venkatesh
-
Michal Simek
-
Venkatesh Yadav Abbarapu