mtd: nand: qcom: add BAM DMA descriptor handling
authorAbhishek Sahu <absahu@codeaurora.org>
Thu, 17 Aug 2017 12:07:41 +0000 (17:37 +0530)
committerBoris Brezillon <boris.brezillon@free-electrons.com>
Wed, 23 Aug 2017 14:49:26 +0000 (16:49 +0200)
commit381dd24539a85a4bdec155369e3216e6f267df7d
tree7ac43676af2370bb5d6c8c1ba4cab7646659df31
parentcb80f1140db6ad2cb6841ad656cc6b779b4b58be
mtd: nand: qcom: add BAM DMA descriptor handling

1. prepare_bam_async_desc is the function which will call
   all the DMA API’s. It will fetch the outstanding scatter gather
   list for passed channel and will do the DMA descriptor formation.
   The DMA flag is dependent upon the type of channel.

2. For ADM DMA, the descriptor is being formed for every DMA
   request so its sgl count will be always 1 while in BAM DMA, the
   clubbing of descriptor is being done to increase throughput.

3. ADM DMA uses only one channel while in BAM DMA, data descriptors
   will be submitted to tx channel (for write) or rx channel
   (for read) and all the registers read/write descriptors in
   command channel.

Reviewed-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Abhishek Sahu <absahu@codeaurora.org>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/nand/qcom_nandc.c