Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 768fbc18 authored by Pawel Moll's avatar Pawel Moll Committed by Chris Ball
Browse files

mmc: mmci: Add ARM variant with extended FIFO



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: default avatarPawel Moll <pawel.moll@arm.com>
Tested-by: default avatarMatt Waddel <matt.waddel@linaro.org>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent a5289a43
Loading
Loading
Loading
Loading
+12 −1
Original line number Original line Diff line number Diff line
@@ -68,6 +68,12 @@ static struct variant_data variant_arm = {
	.datalength_bits	= 16,
	.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 = {
static struct variant_data variant_u300 = {
	.fifosize		= 16 * 4,
	.fifosize		= 16 * 4,
	.fifohalfsize		= 8 * 4,
	.fifohalfsize		= 8 * 4,
@@ -1277,9 +1283,14 @@ static int mmci_resume(struct amba_device *dev)
static struct amba_id mmci_ids[] = {
static struct amba_id mmci_ids[] = {
	{
	{
		.id	= 0x00041180,
		.id	= 0x00041180,
		.mask	= 0x000fffff,
		.mask	= 0xff0fffff,
		.data	= &variant_arm,
		.data	= &variant_arm,
	},
	},
	{
		.id	= 0x01041180,
		.mask	= 0xff0fffff,
		.data	= &variant_arm_extended_fifo,
	},
	{
	{
		.id	= 0x00041181,
		.id	= 0x00041181,
		.mask	= 0x000fffff,
		.mask	= 0x000fffff,