From 7da7c03f59179c176871aadda041666ae1164c9d Mon Sep 17 00:00:00 2001 From: Vaishnav Achath Date: Wed, 8 Jun 2022 16:44:46 +0530 Subject: [PATCH] Revert "spi: cadence_qspi_apb: Don't use DMA in DTR mode" This reverts commit 246ca5eae017e855ada6b372661d3bf9a192e8e0. SPI NOR core has been updated to use DMA safe buffer during SFDP read thus making the below check to not use DMA unnecessary. The check also affects the QSPI read performance significantly. QSPI Read performance with the check: => sf probe 1:0 SF: Detected mt25qu512a with page size 256 Bytes, erase size 64 KiB, total 64 MiB => time sf read ${loadaddr} 0x0 0x4000000 device 0 whole chip SF: 67108864 bytes @ 0x0 Read: OK time: 17.621 seconds QSPI Read performance without check: => sf probe 1:0 SF: Detected mt25qu512a with page size 256 Bytes, erase size 64 KiB, total 64 MiB => time sf read ${loadaddr} 0x0 0x4000000 device 0 whole chip SF: 67108864 bytes @ 0x0 Read: OK time: 4.032 seconds Signed-off-by: Vaishnav Achath --- drivers/spi/cadence_qspi_apb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/cadence_qspi_apb.c b/drivers/spi/cadence_qspi_apb.c index e828486e2e..29ebc94061 100644 --- a/drivers/spi/cadence_qspi_apb.c +++ b/drivers/spi/cadence_qspi_apb.c @@ -1005,7 +1005,7 @@ cadence_qspi_apb_direct_read_execute(struct cadence_spi_platdata *plat, } if (!cadence_qspi_apb_use_phy(plat, op)) { - if (!op->data.dtr || dma_memcpy(buf, plat->ahbbase + from, len) < 0) + if (dma_memcpy(buf, plat->ahbbase + from, len) < 0) memcpy_fromio(buf, plat->ahbbase + from, len); if (!cadence_qspi_wait_idle(plat->regbase))