Re: [PATCH v3 00/14] Implement exec_op for GPMI nand driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sascha,

Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote on Tue, 21 May 2019
09:12:36 +0200:

> On Mon, May 20, 2019 at 04:30:38PM +0200, Miquel Raynal wrote:
> > 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?  
> 
> Yes, due to the patch merging the two files into one the rebase was a
> bit tricky with the changes to the driver in the last merge window. It
> basically meant redoing "mtd: rawnand: gpmi: move all driver code into
> single file" completely to get the changes from the last window into
> that patch. Don't worry, I pretty much expected that. Find a new version
> in your inbox.
> 

Thank you very much!

Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux