Hi Sascha, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote on Thu, 25 Apr 2019 14:56:29 +0200: > The GPMI nand driver suffers from very poor performance. The read > performance can be roughly doubled with two steps: First is to use > runtime PM for controlling the clocks which prevents the driver from > spending a good amount of time en/disabling the clocks. The second step > is to implement exec_op which allows us to combine the steps necessary > to do a page read into a single DMA transaction. > > I would prefer to let this go through the mtd tree with the ack of the > dmaengine maintainers > > changes since v2: > > - s/dma/dmaengine in dmaengine specific patches > - s/nand/NAND/ > - Add reviewed-by Miquel > - Add Acked-by Vinod > > changes since v1: > > - tested and fixed on i.MX28 > - remove debugging leftover > - Add mxs dma specific header files to put the oddities of the mxs dma > driver in > - Turn off BCH engine interrupts when not needed as they result in > calling complete() on an uninitialized completion. This crashes > on i.MX28 > > Sascha Hauer (14): > mtd: rawnand: export NAND operation tracer > mtd: rawnand: fsmc: Use nand_op_trace for operation tracing > mtd: rawnand: gpmi: move all driver code into single file > mtd: rawnand: gpmi: remove unused variable > mtd: rawnand: gpmi: Remove unnecessary variables > mtd: rawnand: gpmi: read buf in nand_read_page_op > mtd: rawnand: gpmi: remove unused parameters > mtd: rawnand: gpmi: Drop unnecessary restoring of previous chipselection > mtd: rawnand: gpmi: use runtime PM to manage clocks > dmaengine: mxs: Drop unnecessary flag > mtd: rawnand: gpmi: drop unnecessary flag > dmaengine: mxs: Add header file to be shared with gpmi nand driver > dmaengine: mxs: rename custom flag > mtd: rawnand: gpmi: Implement exec_op > > drivers/dma/mxs-dma.c | 25 +- > drivers/mtd/nand/raw/fsmc_nand.c | 19 +- > drivers/mtd/nand/raw/gpmi-nand/Makefile | 1 - > drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c | 936 ----------- > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 1687 ++++++++++++++------ > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h | 64 +- > drivers/mtd/nand/raw/nand_base.c | 30 +- > include/linux/dma/mxs-dma.h | 24 + > include/linux/mtd/rawnand.h | 37 + > 9 files changed, 1264 insertions(+), 1559 deletions(-) > delete mode 100644 drivers/mtd/nand/raw/gpmi-nand/gpmi-lib.c > create mode 100644 include/linux/dma/mxs-dma.h > Please ignore the previous message telling the patch was applied, I have to manually fix all the conflicts, I canceled the operation: would you mind rebasing on v5.2-rc1 and respin? Thanks and sorry for the trouble, Miquèl ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/