summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/pxa3xx_nand.c
diff options
context:
space:
mode:
authorEzequiel Garcia2013-10-04 20:30:37 +0200
committerBrian Norris2013-11-07 08:32:53 +0100
commit95b26563c739d5ed5101318b1bd8895773a3d872 (patch)
tree9fd53e15252882b1c29a21e8275e868698f81415 /drivers/mtd/nand/pxa3xx_nand.c
parentmtd: m25p80: Add support for Micron N25Q512A memory (diff)
downloadkernel-qcow2-linux-95b26563c739d5ed5101318b1bd8895773a3d872.tar.gz
kernel-qcow2-linux-95b26563c739d5ed5101318b1bd8895773a3d872.tar.xz
kernel-qcow2-linux-95b26563c739d5ed5101318b1bd8895773a3d872.zip
mtd: nand: pxa3xx: Move DMA I/O enabling
Instead of setting info->dma each time a command is prepared, we can move it after the DMA buffers are allocated. This is more clear and it's the proper place to enable this, given DMA cannot be turned on and off during runtime. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Tested-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd/nand/pxa3xx_nand.c')
-rw-r--r--drivers/mtd/nand/pxa3xx_nand.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
index e08c3c058904..287997487b95 100644
--- a/drivers/mtd/nand/pxa3xx_nand.c
+++ b/drivers/mtd/nand/pxa3xx_nand.c
@@ -540,7 +540,6 @@ static int prepare_command_pool(struct pxa3xx_nand_info *info, int command,
info->oob_size = 0;
info->use_ecc = 0;
info->use_spare = 1;
- info->use_dma = (use_dma) ? 1 : 0;
info->is_ready = 0;
info->retcode = ERR_NONE;
if (info->cs != 0)
@@ -950,6 +949,11 @@ static int pxa3xx_nand_init_buff(struct pxa3xx_nand_info *info)
return info->data_dma_ch;
}
+ /*
+ * Now that DMA buffers are allocated we turn on
+ * DMA proper for I/O operations.
+ */
+ info->use_dma = 1;
return 0;
}