[U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA
Fabio Estevam
fabio.estevam at freescale.com
Mon Apr 2 20:24:10 CEST 2012
Initialize the DMA controller so that the following errors are fixed:
U-Boot 2012.04-rc1-00001-g037cbfd (Apr 02 2012 - 10:57:48)
Freescale i.MX28 family at 454 MHz
DRAM: 128 MiB
MMC: MXS MMC: 0
MMC0: DMA transfer failed
MMC0: DMA transfer failed
MMC0: DMA transfer failed
MMC0: DMA transfer failed
MMC init failed
In order to not break the DMA NAND support, remove mxs_dma_init from the
NAND driver now that it is called from the core dma file.
Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
--
Changes since v1:
- Call mxs_dma_init() from a common location and remove it
from the mxs_nand driver
drivers/dma/apbh_dma.c | 2 ++
drivers/mtd/nand/mxs_nand.c | 3 ---
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c
index c086629..68c4be2 100644
--- a/drivers/dma/apbh_dma.c
+++ b/drivers/dma/apbh_dma.c
@@ -346,6 +346,8 @@ struct mxs_dma_desc *mxs_dma_desc_alloc(void)
struct mxs_dma_desc *pdesc;
uint32_t size;
+ /* Initialize the DMA controller. */
+ mxs_dma_init();
size = roundup(sizeof(struct mxs_dma_desc), MXS_DMA_ALIGNMENT);
pdesc = memalign(MXS_DMA_ALIGNMENT, size);
diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c
index 4b1297a..95eac35 100644
--- a/drivers/mtd/nand/mxs_nand.c
+++ b/drivers/mtd/nand/mxs_nand.c
@@ -1072,9 +1072,6 @@ int mxs_nand_init(struct mxs_nand_info *info)
goto err2;
}
- /* Init the DMA controller. */
- mxs_dma_init();
-
/* Reset the GPMI block. */
mx28_reset_block(&gpmi_regs->hw_gpmi_ctrl0_reg);
--
1.7.1
More information about the U-Boot
mailing list