[U-Boot] [PATCH] i.MX28: Lower the amount of blocks transfered in one DMA cycle

Some MMC cards, like my ancient 32.0MB SanDisk RS-MMC cards had issue if b_max was set to 0x40 and DMA was enabled. Lower this value to 0x20, which allows these cards to work too.
Signed-off-by: Marek Vasut marex@denx.de Cc: Stefano Babic sbabic@denx.de Cc: Wolfgang Denk wd@denx.de Cc: Detlev Zundel dzu@denx.de Cc: Fabio Estevam fabio.estevam@freescale.com --- drivers/mmc/mxsmmc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
NOTE: I need to do more tests on other obscure cards tomorrow.
diff --git a/drivers/mmc/mxsmmc.c b/drivers/mmc/mxsmmc.c index 35c6bda..6572e95 100644 --- a/drivers/mmc/mxsmmc.c +++ b/drivers/mmc/mxsmmc.c @@ -406,7 +406,7 @@ int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int)) */ mmc->f_min = 400000; mmc->f_max = mxc_get_clock(MXC_SSP0_CLK + id) * 1000 / 2; - mmc->b_max = 0x40; + mmc->b_max = 0x20;
mmc_register(mmc); return 0;

Hi Marek,
On 4/9/12, Marek Vasut marex@denx.de wrote:
Some MMC cards, like my ancient 32.0MB SanDisk RS-MMC cards had issue if b_max was set to 0x40 and DMA was enabled. Lower this value to 0x20, which allows these cards to work too.
I know this is off topic here, but I am wondering whether the mxs mmc driver in the kernel is able to handle this card correctly or not.
Regards,
Fabio Estevam

Dear Fabio Estevam,
Hi Marek,
On 4/9/12, Marek Vasut marex@denx.de wrote:
Some MMC cards, like my ancient 32.0MB SanDisk RS-MMC cards had issue if b_max was set to 0x40 and DMA was enabled. Lower this value to 0x20, which allows these cards to work too.
I know this is off topic here, but I am wondering whether the mxs mmc driver in the kernel is able to handle this card correctly or not.
Linux does, but I think there must be some limit to multiblock transfers there, otherwise it'd fail too.
Regards,
Fabio Estevam
Best regards, Marek Vasut
participants (2)
-
Fabio Estevam
-
Marek Vasut