]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
spi: zynqmp_qspi: Workaround for small data cache issue
authorVenkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>
Fri, 15 Sep 2023 03:17:59 +0000 (08:47 +0530)
committerMichal Simek <michal.simek@amd.com>
Thu, 21 Sep 2023 11:20:12 +0000 (13:20 +0200)
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>
Link: https://lore.kernel.org/r/20230915031759.28889-3-venkatesh.abbarapu@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
drivers/spi/zynqmp_gqspi.c

index a506d152275e792446b5fd135774740b223e686f..ec59ef58044707f1f7a0f9120fe6079f25b114cb 100644 (file)
@@ -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",