]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: Fixed MMC DMA writes on 15xx
authorTony Lindgren <tony@atomide.com>
Tue, 8 Nov 2005 01:50:10 +0000 (17:50 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 8 Nov 2005 01:50:10 +0000 (17:50 -0800)
Fixed MMC DMA writes on 15xx

drivers/mmc/omap.c

index 66840873297dd0dbe991532e442cbf89e323db6b..f39464b266791234272a290d05efcad61e3d0a56 100644 (file)
@@ -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;