From 07d9605a58a118a4ec01ba3061dbcbbe752add7e Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Mon, 7 Nov 2005 17:50:10 -0800 Subject: [PATCH] ARM: OMAP: Fixed MMC DMA writes on 15xx Fixed MMC DMA writes on 15xx --- drivers/mmc/omap.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index 66840873297..f39464b2667 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c @@ -693,11 +693,13 @@ mmc_omap_prepare_dma(struct mmc_omap_host *host, struct mmc_data *data) } host->dma_len = count; - /* FIFO is 32x2 bytes; use 32 word frames when the blocksize is - * at least that large. Blocksize is usually 512 bytes; but - * not for some SD reads. + /* FIFO is 16x2 bytes on 15xx, and 32x2 bytes on 16xx and 24xx. + * Use 16 or 32 word frames when the blocksize is at least that large. + * Blocksize is usually 512 bytes; but not for some SD reads. */ - if (frame > 64) + if (cpu_is_omap15xx() && frame > 32) + frame = 32; + else if (frame > 64) frame = 64; count /= frame; frame >>= 1; -- 2.41.1