mmc: mmci: Add ARM variant with extended FIFO
authorPawel Moll <pawel.moll@arm.com>
Fri, 11 Mar 2011 17:18:07 +0000 (17:18 +0000)
committerChris Ball <cjb@laptop.org>
Fri, 25 Mar 2011 14:30:49 +0000 (10:30 -0400)
New IO FPGA implementation for Versatile Express boards contain
MMCI (PL180) cell with FIFO extended to 128 words (512 bytes).

Matt Waddel reports that this patch improves MMC performance on
his vexpress system, and also fixes "mmcblk0: error -5 transferring
data" errors.

Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Tested-by: Matt Waddel <matt.waddel@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/mmci.c

index 5bbb87d102514b62c25a4c78b50be5c753e51c80..b4a7e4fba90fa2fdb30e78632e09d85a484baff2 100644 (file)
@@ -68,6 +68,12 @@ static struct variant_data variant_arm = {
        .datalength_bits        = 16,
 };
 
+static struct variant_data variant_arm_extended_fifo = {
+       .fifosize               = 128 * 4,
+       .fifohalfsize           = 64 * 4,
+       .datalength_bits        = 16,
+};
+
 static struct variant_data variant_u300 = {
        .fifosize               = 16 * 4,
        .fifohalfsize           = 8 * 4,
@@ -1277,9 +1283,14 @@ static int mmci_resume(struct amba_device *dev)
 static struct amba_id mmci_ids[] = {
        {
                .id     = 0x00041180,
-               .mask   = 0x000fffff,
+               .mask   = 0xff0fffff,
                .data   = &variant_arm,
        },
+       {
+               .id     = 0x01041180,
+               .mask   = 0xff0fffff,
+               .data   = &variant_arm_extended_fifo,
+       },
        {
                .id     = 0x00041181,
                .mask   = 0x000fffff,
This page took 0.027179 seconds and 5 git commands to generate.