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 a506d15..ec59ef5 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",