diff options
author | Manuel Lauss <mano@roarinelk.homelinux.net> | 2008-07-29 10:10:49 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2008-08-01 19:04:26 +0200 |
commit | e491d230fd398bb730e3c2dd734c5447463b9d38 (patch) | |
tree | 84017cd3fe7bddb473977e9d4cf27539bdf7a90f /drivers/mmc | |
parent | b41e9c7b8e14ea57aa0fc05fd63a0de0e935d58d (diff) | |
download | linux-e491d230fd398bb730e3c2dd734c5447463b9d38.tar.gz linux-e491d230fd398bb730e3c2dd734c5447463b9d38.tar.bz2 linux-e491d230fd398bb730e3c2dd734c5447463b9d38.zip |
au1xmmc: raise segment size limit.
Raise the DMA block size limit from 2048 bytes to the maximum supported
by the DMA controllers on the chip (64KB on Au1100, 4MB on Au1200).
This gives a very small performance boost and apparently fixes an oops
when MMC-DMA and network traffic are active at the same time.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/au1xmmc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c index 99b20917cc0f..d3f55615c099 100644 --- a/drivers/mmc/host/au1xmmc.c +++ b/drivers/mmc/host/au1xmmc.c @@ -61,7 +61,13 @@ /* Hardware definitions */ #define AU1XMMC_DESCRIPTOR_COUNT 1 -#define AU1XMMC_DESCRIPTOR_SIZE 2048 + +/* max DMA seg size: 64KB on Au1100, 4MB on Au1200 */ +#ifdef CONFIG_SOC_AU1100 +#define AU1XMMC_DESCRIPTOR_SIZE 0x0000ffff +#else /* Au1200 */ +#define AU1XMMC_DESCRIPTOR_SIZE 0x003fffff +#endif #define AU1XMMC_OCR (MMC_VDD_27_28 | MMC_VDD_28_29 | MMC_VDD_29_30 | \ MMC_VDD_30_31 | MMC_VDD_31_32 | MMC_VDD_32_33 | \ |