[U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA
Fabio Estevam
festevam at gmail.com
Mon Apr 2 21:18:18 CEST 2012
On Mon, Apr 2, 2012 at 4:03 PM, Marek Vasut <marex at denx.de> wrote:
> Because that's called before relocation ;-)
What about this?
--- a/drivers/dma/apbh_dma.c
+++ b/drivers/dma/apbh_dma.c
@@ -35,6 +35,7 @@
static struct mxs_dma_chan mxs_dma_channels[MXS_MAX_DMA_CHANNELS];
+static int first;
/*
* Test is the DMA channel is valid channel
*/
@@ -346,6 +347,10 @@ struct mxs_dma_desc *mxs_dma_desc_alloc(void)
struct mxs_dma_desc *pdesc;
uint32_t size;
+ if (!first)
+ mxs_dma_init();
+ first++;
+
size = roundup(sizeof(struct mxs_dma_desc), MXS_DMA_ALIGNMENT);
pdesc = memalign(MXS_DMA_ALIGNMENT, size);
Too ugly? Or any better place for calling mxs_dma_init()?
More information about the U-Boot
mailing list