* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA @ 2012-04-02 18:24 Fabio Estevam 2012-04-02 18:39 ` Marek Vasut 0 siblings, 1 reply; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 18:24 UTC (permalink / raw) To: u-boot 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@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 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 18:24 [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA Fabio Estevam @ 2012-04-02 18:39 ` Marek Vasut 2012-04-02 18:54 ` Fabio Estevam 0 siblings, 1 reply; 14+ messages in thread From: Marek Vasut @ 2012-04-02 18:39 UTC (permalink / raw) To: u-boot 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@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 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 18:39 ` Marek Vasut @ 2012-04-02 18:54 ` Fabio Estevam 2012-04-02 19:03 ` Marek Vasut 0 siblings, 1 reply; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 18:54 UTC (permalink / raw) To: u-boot On Mon, Apr 2, 2012 at 3:39 PM, Marek Vasut <marex@denx.de> wrote: > 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? If I put it in mx28.c like that: +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c @@ -172,6 +172,8 @@ int arch_cpu_init(void) */ mxs_gpio_init(); + mxs_dma_init(); + return 0; } #endif ,MMC still fails. Still looking for a good place for calling mxs_dma_init(); ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 18:54 ` Fabio Estevam @ 2012-04-02 19:03 ` Marek Vasut 2012-04-02 19:18 ` Fabio Estevam 0 siblings, 1 reply; 14+ messages in thread From: Marek Vasut @ 2012-04-02 19:03 UTC (permalink / raw) To: u-boot Dear Fabio Estevam, > On Mon, Apr 2, 2012 at 3:39 PM, Marek Vasut <marex@denx.de> wrote: > > 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? > > If I put it in mx28.c like that: > > +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c > @@ -172,6 +172,8 @@ int arch_cpu_init(void) > */ > mxs_gpio_init(); > > + mxs_dma_init(); > + > return 0; > } > #endif > > ,MMC still fails. Because that's called before relocation ;-) > > Still looking for a good place for calling mxs_dma_init(); Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:03 ` Marek Vasut @ 2012-04-02 19:18 ` Fabio Estevam 2012-04-02 19:26 ` Marek Vasut 2012-04-02 19:30 ` Anatolij Gustschin 0 siblings, 2 replies; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 19:18 UTC (permalink / raw) To: u-boot On Mon, Apr 2, 2012 at 4:03 PM, Marek Vasut <marex@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()? ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:18 ` Fabio Estevam @ 2012-04-02 19:26 ` Marek Vasut 2012-04-02 19:30 ` Anatolij Gustschin 1 sibling, 0 replies; 14+ messages in thread From: Marek Vasut @ 2012-04-02 19:26 UTC (permalink / raw) To: u-boot Dear Fabio Estevam, > On Mon, Apr 2, 2012 at 4:03 PM, Marek Vasut <marex@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()? I'd say arch_misc_init(), if it was before nand_init() though. Maybe we need arch_early_init_r() ? Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:18 ` Fabio Estevam 2012-04-02 19:26 ` Marek Vasut @ 2012-04-02 19:30 ` Anatolij Gustschin 2012-04-02 19:38 ` Marek Vasut 1 sibling, 1 reply; 14+ messages in thread From: Anatolij Gustschin @ 2012-04-02 19:30 UTC (permalink / raw) To: u-boot Hi Fabio, On Mon, 2 Apr 2012 16:18:18 -0300 Fabio Estevam <festevam@gmail.com> wrote: > On Mon, Apr 2, 2012 at 4:03 PM, Marek Vasut <marex@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()? Won't calling mxs_dma_init() from arch_misc_init() work? Thanks, Anatolij ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:30 ` Anatolij Gustschin @ 2012-04-02 19:38 ` Marek Vasut 2012-04-02 19:50 ` Fabio Estevam 0 siblings, 1 reply; 14+ messages in thread From: Marek Vasut @ 2012-04-02 19:38 UTC (permalink / raw) To: u-boot Dear Anatolij Gustschin, > Hi Fabio, > > On Mon, 2 Apr 2012 16:18:18 -0300 > > Fabio Estevam <festevam@gmail.com> wrote: > > On Mon, Apr 2, 2012 at 4:03 PM, Marek Vasut <marex@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()? > > Won't calling mxs_dma_init() from arch_misc_init() work? No, because that's called after NAND is inited. And NAND needs DMA for it's init :( > > Thanks, > Anatolij Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:38 ` Marek Vasut @ 2012-04-02 19:50 ` Fabio Estevam 2012-04-02 19:54 ` Marek Vasut 0 siblings, 1 reply; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 19:50 UTC (permalink / raw) To: u-boot On Mon, Apr 2, 2012 at 4:38 PM, Marek Vasut <marex@denx.de> wrote: >> Won't calling mxs_dma_init() from arch_misc_init() work? > > No, because that's called after NAND is inited. And NAND needs DMA for it's init > :( Correct. Should we go with my ugly hack then? Or what do you mean when you proposed arch_early_init_r ? ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:50 ` Fabio Estevam @ 2012-04-02 19:54 ` Marek Vasut 2012-04-02 20:44 ` Fabio Estevam 0 siblings, 1 reply; 14+ messages in thread From: Marek Vasut @ 2012-04-02 19:54 UTC (permalink / raw) To: u-boot Dear Fabio Estevam, > On Mon, Apr 2, 2012 at 4:38 PM, Marek Vasut <marex@denx.de> wrote: > >> Won't calling mxs_dma_init() from arch_misc_init() work? > > > > No, because that's called after NAND is inited. And NAND needs DMA for > > it's init > > > > :( > > Correct. > > Should we go with my ugly hack then? > > Or what do you mean when you proposed arch_early_init_r ? Yes another hook function that'd be called early in board_init_r() btw. Fabio, I really appreciate your work on this, sorry to keep tormenting you so much. Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 19:54 ` Marek Vasut @ 2012-04-02 20:44 ` Fabio Estevam 2012-04-02 20:52 ` Marek Vasut 0 siblings, 1 reply; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 20:44 UTC (permalink / raw) To: u-boot On Mon, Apr 2, 2012 at 4:54 PM, Marek Vasut <marex@denx.de> wrote: > Yes another hook function that'd be called early in board_init_r() Ok, please see the patch below and let me know if you like it. If you do, then I can probably split it in 2 parts: one that introduces arch_early_init_r() and another one that fixes the mmc problem on mx28. diff --git a/arch/arm/cpu/arm926ejs/mx28/mx28.c b/arch/arm/cpu/arm926ejs/mx28/mx28.c index cf6d4e9..6c148a8 100644 --- a/arch/arm/cpu/arm926ejs/mx28/mx28.c +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c @@ -34,6 +34,7 @@ #include <asm/arch/iomux.h> #include <asm/arch/imx-regs.h> #include <asm/arch/sys_proto.h> +#include <asm/arch/dma.h> DECLARE_GLOBAL_DATA_PTR; @@ -297,3 +298,14 @@ U_BOOT_CMD( "display clocks", "" ); + +#ifdef CONFIG_ARCH_EARLY_INIT_R +int arch_early_init_r(void) +{ +#ifdef CONFIG_APBH_DMA + /* Initialize the DMA controller. */ + mxs_dma_init(); +#endif + return 0; +} +#endif diff --git a/arch/arm/include/asm/u-boot-arm.h b/arch/arm/include/asm/u-boot-arm.h index 4ca75f9..9f3cae5 100644 --- a/arch/arm/include/asm/u-boot-arm.h +++ b/arch/arm/include/asm/u-boot-arm.h @@ -52,6 +52,7 @@ void cpu_init_cp15(void); /* cpu/.../arch/cpu.c */ int arch_cpu_init(void); int arch_misc_init(void); +int arch_early_init_r(void); /* board/.../... */ int board_init(void); diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 5270c11..025d6ca 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -500,6 +500,10 @@ void board_init_r(gd_t *id, ulong dest_addr) malloc_start = dest_addr - TOTAL_MALLOC_LEN; mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN); +#ifdef CONFIG_ARCH_EARLY_INIT_R + arch_early_init_r(); +#endif + #if !defined(CONFIG_SYS_NO_FLASH) puts("Flash: "); 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); diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h index 8b83180..b0e6d3b 100644 --- a/include/configs/m28evk.h +++ b/include/configs/m28evk.h @@ -42,6 +42,7 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_ARCH_CPU_INIT #define CONFIG_ARCH_MISC_INIT +#define CONFIG_ARCH_EARLY_INIT_R /* * SPL diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h index 705fdab..350e833 100644 --- a/include/configs/mx28evk.h +++ b/include/configs/mx28evk.h @@ -36,6 +36,7 @@ #define CONFIG_BOARD_EARLY_INIT_F #define CONFIG_ARCH_CPU_INIT #define CONFIG_ARCH_MISC_INIT +#define CONFIG_ARCH_EARLY_INIT_R /* * SPL -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 20:44 ` Fabio Estevam @ 2012-04-02 20:52 ` Marek Vasut 2012-04-02 20:54 ` Fabio Estevam 0 siblings, 1 reply; 14+ messages in thread From: Marek Vasut @ 2012-04-02 20:52 UTC (permalink / raw) To: u-boot Dear Fabio Estevam, > On Mon, Apr 2, 2012 at 4:54 PM, Marek Vasut <marex@denx.de> wrote: > > Yes another hook function that'd be called early in board_init_r() > > Ok, please see the patch below and let me know if you like it. > > If you do, then I can probably split it in 2 parts: > one that introduces arch_early_init_r() and another one that fixes the > mmc problem on mx28. Well ... CCing Albert to express his concerns about this. > > diff --git a/arch/arm/cpu/arm926ejs/mx28/mx28.c > b/arch/arm/cpu/arm926ejs/mx28/mx28.c > index cf6d4e9..6c148a8 100644 > --- a/arch/arm/cpu/arm926ejs/mx28/mx28.c > +++ b/arch/arm/cpu/arm926ejs/mx28/mx28.c > @@ -34,6 +34,7 @@ > #include <asm/arch/iomux.h> > #include <asm/arch/imx-regs.h> > #include <asm/arch/sys_proto.h> > +#include <asm/arch/dma.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -297,3 +298,14 @@ U_BOOT_CMD( > "display clocks", > "" > ); > + > +#ifdef CONFIG_ARCH_EARLY_INIT_R > +int arch_early_init_r(void) > +{ > +#ifdef CONFIG_APBH_DMA > + /* Initialize the DMA controller. */ > + mxs_dma_init(); > +#endif > + return 0; > +} > +#endif > diff --git a/arch/arm/include/asm/u-boot-arm.h > b/arch/arm/include/asm/u-boot-arm.h > index 4ca75f9..9f3cae5 100644 > --- a/arch/arm/include/asm/u-boot-arm.h > +++ b/arch/arm/include/asm/u-boot-arm.h > @@ -52,6 +52,7 @@ void cpu_init_cp15(void); > /* cpu/.../arch/cpu.c */ > int arch_cpu_init(void); > int arch_misc_init(void); > +int arch_early_init_r(void); > > /* board/.../... */ > int board_init(void); > diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c > index 5270c11..025d6ca 100644 > --- a/arch/arm/lib/board.c > +++ b/arch/arm/lib/board.c > @@ -500,6 +500,10 @@ void board_init_r(gd_t *id, ulong dest_addr) > malloc_start = dest_addr - TOTAL_MALLOC_LEN; > mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN); > > +#ifdef CONFIG_ARCH_EARLY_INIT_R > + arch_early_init_r(); > +#endif > + > #if !defined(CONFIG_SYS_NO_FLASH) > puts("Flash: "); > > 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); > > diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h > index 8b83180..b0e6d3b 100644 > --- a/include/configs/m28evk.h > +++ b/include/configs/m28evk.h > @@ -42,6 +42,7 @@ > #define CONFIG_BOARD_EARLY_INIT_F > #define CONFIG_ARCH_CPU_INIT > #define CONFIG_ARCH_MISC_INIT > +#define CONFIG_ARCH_EARLY_INIT_R > > /* > * SPL > diff --git a/include/configs/mx28evk.h b/include/configs/mx28evk.h > index 705fdab..350e833 100644 > --- a/include/configs/mx28evk.h > +++ b/include/configs/mx28evk.h > @@ -36,6 +36,7 @@ > #define CONFIG_BOARD_EARLY_INIT_F > #define CONFIG_ARCH_CPU_INIT > #define CONFIG_ARCH_MISC_INIT > +#define CONFIG_ARCH_EARLY_INIT_R > > /* > * SPL ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 20:52 ` Marek Vasut @ 2012-04-02 20:54 ` Fabio Estevam 2012-04-02 21:00 ` Marek Vasut 0 siblings, 1 reply; 14+ messages in thread From: Fabio Estevam @ 2012-04-02 20:54 UTC (permalink / raw) To: u-boot On Mon, Apr 2, 2012 at 5:52 PM, Marek Vasut <marex@denx.de> wrote: > Well ... CCing Albert to express his concerns about this. Ok, great. Just to let you know that I also tested NAND on my board (will add mx28evk support for NAND later). ^ permalink raw reply [flat|nested] 14+ messages in thread
* [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA 2012-04-02 20:54 ` Fabio Estevam @ 2012-04-02 21:00 ` Marek Vasut 0 siblings, 0 replies; 14+ messages in thread From: Marek Vasut @ 2012-04-02 21:00 UTC (permalink / raw) To: u-boot Dear Fabio Estevam, > On Mon, Apr 2, 2012 at 5:52 PM, Marek Vasut <marex@denx.de> wrote: > > Well ... CCing Albert to express his concerns about this. > > Ok, great. > > Just to let you know that I also tested NAND on my board (will add > mx28evk support for NAND later). Good job, Fabio! :) Best regards, Marek Vasut ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2012-04-02 21:00 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-04-02 18:24 [U-Boot] [PATCH v2] mmc: mxsmmc: Fix operation with DMA Fabio Estevam 2012-04-02 18:39 ` Marek Vasut 2012-04-02 18:54 ` Fabio Estevam 2012-04-02 19:03 ` Marek Vasut 2012-04-02 19:18 ` Fabio Estevam 2012-04-02 19:26 ` Marek Vasut 2012-04-02 19:30 ` Anatolij Gustschin 2012-04-02 19:38 ` Marek Vasut 2012-04-02 19:50 ` Fabio Estevam 2012-04-02 19:54 ` Marek Vasut 2012-04-02 20:44 ` Fabio Estevam 2012-04-02 20:52 ` Marek Vasut 2012-04-02 20:54 ` Fabio Estevam 2012-04-02 21:00 ` Marek Vasut
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox