mmc: msm_sdcc: Set CPU_DMA latency for acceptable QOS
To prevent speed degradation in high throughput
scenarios, specify CPU_DMA latency which gives
acceptable QOS. This should be derived without
knowledge of specific low power mode latencies.
For MMC/SD cards, reads tend to be the fastest
transactions, and suffer most from latency. To
ensure acceptable QOS, the average chunk size read
is used with typical best-in-class read speeds
seen across targets and cards.
With an average chunk size of 128KiB transferred
at 30MB/s, a 5% degradation in speed allows for
an additional 200us latency. This default can
be overridden by newer targets with more stringent
latency requirements.
Change-Id: I77d320d2b5e34e3b72ba41ed25454ece042eeddb
Signed-off-by: Oluwafemi Adeyemi <aadeyemi@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-9615-storage.c b/arch/arm/mach-msm/board-9615-storage.c
index 6bf7c69..7580cc3 100644
--- a/arch/arm/mach-msm/board-9615-storage.c
+++ b/arch/arm/mach-msm/board-9615-storage.c
@@ -214,19 +214,13 @@
void __init msm9615_init_mmc(void)
{
- if (msm9615_sdc1_pdata) {
- msm9615_sdc1_pdata->swfi_latency =
- msm9615_rpm_get_swfi_latency();
+ if (msm9615_sdc1_pdata)
/* SDC1: External card slot for SD/MMC cards */
msm_add_sdcc(1, msm9615_sdc1_pdata);
- }
- if (msm9615_sdc2_pdata) {
- msm9615_sdc2_pdata->swfi_latency =
- msm9615_rpm_get_swfi_latency();
+ if (msm9615_sdc2_pdata)
/* SDC2: External card slot used for WLAN */
msm_add_sdcc(2, msm9615_sdc2_pdata);
- }
}
#else
void __init msm9615_init_mmc(void)