u-boot/drivers/mmc
Jon Medhurst (Tixy) 0612fcbcb1 MMC: PL180: Fix infinite loop with VExpress extended fifo implementation
The new IO FPGA implementation for Versatile Express contains an MMCI
(PL180) cell with the FIFO extended to 128 words. This causes the
read_bytes() function to go into an infinite loop; as it will wait for
for the half-full signal (SDI_STA_RXFIFOBR) if there are more than 8
words remaining (SDI_FIFO_BURST_SIZE), but it won't receive this signal
once there are fewer than 64 words left to transfer.

One possible fix is to add some build time configuration to change
SDI_FIFO_BURST_SIZE for the new implementation. However, the problematic
code only seems to exist as a small performance optimisation, so the
solution implemented by this patch is to simply remove it. The error
checking following the loop is also removed as this will be handled by
code further down the function.

Cc: Andy Fleming <afleming@gmail.com>
Signed-off-by: Jon Medhurst <jon.medhurst@linaro.org>
2011-11-08 14:39:58 -06:00
..
Makefile PXA: Add MMC driver using the generic MMC framework 2011-11-03 02:14:58 -05:00
arm_pl180_mmci.c MMC: PL180: Fix infinite loop with VExpress extended fifo implementation 2011-11-08 14:39:58 -06:00
arm_pl180_mmci.h MMC: Add support for PL180 ARM mmc device 2011-04-29 03:20:01 -05:00
atmel_mci.c avr32: rename memory-map.h -> hardware.h 2011-05-18 07:56:50 +02:00
atmel_mci.h Revert "AT91:mmc:fix multiple read/write error" 2011-07-28 20:47:15 -05:00
bfin_sdh.c MMC: make b_max unconditional 2011-04-29 03:21:54 -05:00
davinci_mmc.c MMC: make b_max unconditional 2011-04-29 03:21:54 -05:00
fsl_esdhc.c fsl_esdhc: Initialize mmc->b_max 2011-05-18 14:37:45 -05:00
ftsdc010_esdhc.c ftsdc010: add support of ftsdc010 mmc controller 2011-09-04 18:03:02 -05:00
gen_atmel_mci.c Revert "AT91:mmc:fix multiple read/write error" 2011-07-28 20:47:15 -05:00
mmc.c mmc: CMD7:MMC_CMD_SELECT_CARD response fix 2011-11-03 02:14:59 -05:00
mmc_spi.c mmc_spi: generate response for send status command 2011-05-18 14:30:34 -05:00
mv_sdhci.c mmc: mv_sdhci: fix 8bus width access for 88SV331xV5 2011-11-03 02:14:58 -05:00
mxcmmc.c MMC: make b_max unconditional 2011-04-29 03:21:54 -05:00
omap_hsmmc.c mmc: omap: Allow OMAP_HSMMC[23]_BASE to be unset 2011-10-27 21:56:35 +02:00
pxa_mmc.c GCC4.6: Fix warnings in pxa_mmc.c 2011-10-27 23:54:06 +02:00
pxa_mmc.h pxa: move mmc drivers to drivers/mmc 2009-02-20 03:47:50 +01:00
pxa_mmc_gen.c PXA: Add MMC driver using the generic MMC framework 2011-11-03 02:14:58 -05:00
s5p_mmc.c mmc: S5P: Support DMA restarts at buffer boundaries 2011-09-03 22:40:47 +02:00
sdhci.c mmc: sdhci: fix sdma bug for large file transfer 2011-11-03 02:15:00 -05:00
sh_mmcif.c mmc: sh_mmcif: add support for Renesas MMCIF 2011-07-15 20:29:21 -05:00
sh_mmcif.h mmc: sh_mmcif: add support for Renesas MMCIF 2011-07-15 20:29:21 -05:00
tegra2_mmc.c tegra2: Move MMC clock initialization into MMC driver 2011-11-03 02:15:00 -05:00
tegra2_mmc.h tegra2: Add more clock functions 2011-10-27 21:56:29 +02:00