[PATCH] arm: mmci: Add ARM variant with extended FIFO
Matt Waddel
matt.waddel at canonical.com
Wed Mar 16 12:25:16 EDT 2011
On 03/11/2011 10:18 AM, Pawel Moll wrote:
> New IO FPGA implementation for Versatile Express boards contain
> MMCI (PL180) cell with FIFO extended to 128 words (512 bytes).
>
> Signed-off-by: Pawel Moll <pawel.moll at arm.com>
Tested-by: Matt Waddel <matt.waddel at linaro.org>
This patch improves MMC performance on my vexpress system. Also
fixes "mmcblk0: error -5 transferring data" errors.
> ---
> drivers/mmc/host/mmci.c | 13 ++++++++++++-
> 1 files changed, 12 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
> index 2d6de3e..e7197b0 100644
> --- a/drivers/mmc/host/mmci.c
> +++ b/drivers/mmc/host/mmci.c
> @@ -66,6 +66,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,
> @@ -1019,10 +1025,15 @@ 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,
> .data = &variant_arm,
More information about the linux-arm-kernel
mailing list