mmc: core: Remove BROKEN_CLK_GATING quirk for WCN1314 cards

MMC_CLKGATE feature can be enabled for Volans cards as
the host supports asynchronous acitivity notification
when the clocks are off.

Change-Id: Ic6cfa7fb2e713dcf1d2c6b2ae9df9cf0394f8c4a
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
This commit is contained in:
Sujit Reddy Thumma 2012-01-24 10:46:33 +05:30 committed by Stephen Boyd
parent 9e62cdceb2
commit 174ccd412a
2 changed files with 14 additions and 1 deletions

View file

@ -786,6 +786,8 @@ void mmc_gate_clock(struct mmc_host *host)
{ {
unsigned long flags; unsigned long flags;
WARN_ON(!host->ios.clock);
spin_lock_irqsave(&host->clk_lock, flags); spin_lock_irqsave(&host->clk_lock, flags);
host->clk_old = host->ios.clock; host->clk_old = host->ios.clock;
host->ios.clock = 0; host->ios.clock = 0;
@ -808,7 +810,7 @@ void mmc_ungate_clock(struct mmc_host *host)
* we just ignore the call. * we just ignore the call.
*/ */
if (host->clk_old) { if (host->clk_old) {
BUG_ON(host->ios.clock); WARN_ON(host->ios.clock);
/* This call will also set host->clk_gated to false */ /* This call will also set host->clk_gated to false */
__mmc_set_clock(host, host->clk_old); __mmc_set_clock(host, host->clk_old);
} }

View file

@ -30,6 +30,14 @@
#define SDIO_DEVICE_ID_STE_CW1200 0x2280 #define SDIO_DEVICE_ID_STE_CW1200 0x2280
#endif #endif
#ifndef SDIO_VENDOR_ID_MSM
#define SDIO_VENDOR_ID_MSM 0x0070
#endif
#ifndef SDIO_DEVICE_ID_MSM_WCN1314
#define SDIO_DEVICE_ID_MSM_WCN1314 0x2881
#endif
/* /*
* This hook just adds a quirk for all sdio devices * This hook just adds a quirk for all sdio devices
*/ */
@ -49,6 +57,9 @@ static const struct mmc_fixup mmc_fixup_methods[] = {
SDIO_FIXUP(SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271, SDIO_FIXUP(SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
remove_quirk, MMC_QUIRK_BROKEN_CLK_GATING), remove_quirk, MMC_QUIRK_BROKEN_CLK_GATING),
SDIO_FIXUP(SDIO_VENDOR_ID_MSM, SDIO_DEVICE_ID_MSM_WCN1314,
remove_quirk, MMC_QUIRK_BROKEN_CLK_GATING),
SDIO_FIXUP(SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271, SDIO_FIXUP(SDIO_VENDOR_ID_TI, SDIO_DEVICE_ID_TI_WL1271,
add_quirk, MMC_QUIRK_NONSTD_FUNC_IF), add_quirk, MMC_QUIRK_NONSTD_FUNC_IF),