[U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA
Marek Vasut
marex at denx.de
Mon Apr 2 20:39:46 CEST 2012
Dear Fabio Estevam,
> 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();
This mxs_dma_desc_alloc() is called in a loop in the MXS NAND driver, this is
even worse ;-)
Possibly some common mx28 init code would be better?
NAK (sorry, I know it hurts)
Best regards,
Marek Vasut
More information about the U-Boot
mailing list