mmc: msm_sdcc: Skip adding delay for high speed mode.
Skip adding msmsdcc_delay in high frequency mode in ISR path.
Signed-off-by: Sujith Reddy Thumma <sthumma@codeaurora.org>
diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c
index d2d8485..b5a08d2 100644
--- a/drivers/mmc/host/msm_sdcc.c
+++ b/drivers/mmc/host/msm_sdcc.c
@@ -1388,7 +1388,9 @@
wake_lock(&host->sdio_wlock);
/* only ansyc interrupt can come when clocks are off */
writel_relaxed(MCI_SDIOINTMASK, host->base + MMCICLEAR);
- msmsdcc_delay(host);
+ if (host->clk_rate <=
+ msmsdcc_get_min_sup_clk_rate(host))
+ msmsdcc_delay(host);
}
status = readl_relaxed(host->base + MMCISTATUS);
@@ -1403,7 +1405,9 @@
status &= readl_relaxed(host->base + MMCIMASK0);
writel_relaxed(status, host->base + MMCICLEAR);
/* Allow clear to take effect*/
- msmsdcc_delay(host);
+ if (host->clk_rate <=
+ msmsdcc_get_min_sup_clk_rate(host))
+ msmsdcc_delay(host);
#if IRQ_DEBUG
msmsdcc_print_status(host, "irq0-p", status);
#endif