i.MX28: Lower the amount of blocks transfered in one DMA cycle
Subsystems (2)
PATCH 1/1 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.
--- drivers/mmc/mxsmmc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
NOTE: I need to do more tests on other obscure cards tomorrow.
drivers/mmc/mxsmmc.c +1 -1
@@ -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 ;
Signature · 1 line
1.7.9.1
Fabio Estevam
reviewerPATCH 1/1 i.MX28: Lower the amount of blocks transfered in one DMA cycle
Hi Marek,
Quoted 4 lines · Marek Vasut
Some MMC cards, like my ancient 32.0MB SanDisk RS-MMC cards had issue if
b_max
was set to0x40and DMA was enabled. Lower this value to0x20, 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
PATCH 1/1 i.MX28: Lower the amount of blocks transfered in one DMA cycle
Dear Fabio Estevam,
Quoted 10 lines
Hi Marek,
Quoted 4 lines · Marek Vasut
Some MMC cards, like my ancient 32.0MB SanDisk RS-MMC cards had issue if
b_max
was set to0x40and DMA was enabled. Lower this value to0x20, 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.
Quoted 3 lines
Regards,
Fabio Estevam
Best regards,
Marek Vasut