aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch b/target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch
new file mode 100644
index 0000000000..8097f6d103
--- /dev/null
+++ b/target/linux/brcm2708/patches-3.10/0023-Add-module-parameter-for-missing_status-quirk.-sdhci.patch
@@ -0,0 +1,53 @@
+From 4548721c4c1b160a8b5702b6226c5b6403b3df8b Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Wed, 1 Aug 2012 19:02:14 +0100
+Subject: [PATCH 023/174] Add module parameter for missing_status quirk.
+ sdhci-bcm2708.missing_status=0 may improve interrupt latency
+
+---
+ drivers/mmc/host/sdhci-bcm2708.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+--- a/drivers/mmc/host/sdhci-bcm2708.c
++++ b/drivers/mmc/host/sdhci-bcm2708.c
+@@ -134,6 +134,7 @@ static inline unsigned long int since_ns
+ static bool allow_highspeed = 1;
+ static int emmc_clock_freq = BCM2708_EMMC_CLOCK_FREQ;
+ static bool sync_after_dma = 1;
++static bool missing_status = 1;
+
+ #if 0
+ static void hptime_test(void)
+@@ -1150,7 +1151,6 @@ static struct sdhci_ops sdhci_bcm2708_op
+ .spurious_crc_acmd51 = sdhci_bcm2708_quirk_spurious_crc,
+ .voltage_broken = sdhci_bcm2708_quirk_voltage_broken,
+ .uhs_broken = sdhci_bcm2708_uhs_broken,
+- .missing_status = sdhci_bcm2708_missing_status,
+ };
+
+ /*****************************************************************************\
+@@ -1189,6 +1189,9 @@ static int sdhci_bcm2708_probe(struct pl
+ ret = PTR_ERR(host);
+ goto err;
+ }
++ if (missing_status) {
++ sdhci_bcm2708_ops.missing_status = sdhci_bcm2708_missing_status;
++ }
+
+ host->hw_name = "BCM2708_Arasan";
+ host->ops = &sdhci_bcm2708_ops;
+@@ -1380,6 +1383,7 @@ module_exit(sdhci_drv_exit);
+ module_param(allow_highspeed, bool, 0444);
+ module_param(emmc_clock_freq, int, 0444);
+ module_param(sync_after_dma, bool, 0444);
++module_param(missing_status, bool, 0444);
+
+ MODULE_DESCRIPTION("Secure Digital Host Controller Interface platform driver");
+ MODULE_AUTHOR("Broadcom <info@broadcom.com>");
+@@ -1389,5 +1393,6 @@ MODULE_ALIAS("platform:"DRIVER_NAME);
+ MODULE_PARM_DESC(allow_highspeed, "Allow high speed transfers modes");
+ MODULE_PARM_DESC(emmc_clock_freq, "Specify the speed of emmc clock");
+ MODULE_PARM_DESC(sync_after_dma, "Block in driver until dma complete");
++MODULE_PARM_DESC(missing_status, "Use the missing status quirk");
+
+