android_kernel_oneplus_msm8998/drivers/mmc/host
Sayali Lokhande 283e8d1b93 mmc: sdhci-msm: Disable controller clocks in suspend
Generally, during card suspend we call mmc_power_off
and disable controller clocks.
Now consider below sequence of events :
suspend -> resume -> suspend.
1) During first platform suspend, mmc_power_off will
be called and clocks would be disabled.
2) As a part of platform resume, we enable controller
clocks and defer card resume when
MMC_BUSRESUME_NEEDS_RESUME flag is set.
3) During next suspend we check if card is already
suspended (i.e MMC_BUSRESUME_NEEDS_RESUME is set)
and return without doing actual suspend (where we
call mmc_power_off and disable controller clocks).

So in this scenario, controller clocks will remain ON
even though card state is SUSPENDED.

Fix this by disabling controller clocks during suspend
if controller clock was ON.

CRs-Fixed: 1088893
Change-Id: Id54a15d7f6a7131dab609eec1db158c64ada83ce
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2017-01-30 22:03:09 -08:00
..
android-goldfish.c mmc: android-goldfish: remove incorrect __iomem annotation 2015-09-01 14:19:11 +02:00
atmel-mci-regs.h mmc: atmel-mci: use endian agnostic IO 2015-03-25 09:46:18 +01:00
atmel-mci.c mmc: atmel-mci: remove useless include 2015-08-27 14:50:53 +02:00
au1xmmc.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
bfin_sdh.c
cb710-mmc.c
cb710-mmc.h
cmdq_hci.c mmc: cmdq_hci: Add tracing events for CQ mode. 2017-01-11 09:43:05 +05:30
cmdq_hci.h mmc: cmdq_hci: add set_transfer_params() to CQ unhalt 2016-06-13 19:06:21 -07:00
davinci_mmc.c mmc: davinci: Constify platform_device_id 2015-06-01 09:06:49 +02:00
dw_mmc-exynos.c mmc: mmc: extend the mmc_send_tuning() 2015-10-27 10:38:41 +01:00
dw_mmc-exynos.h mmc: dw_mmc: exynos: Support eMMC's HS400 mode 2015-03-23 14:13:28 +01:00
dw_mmc-k3.c mmc: dw_mmc: k3: Fix modalias to make module auto-loading work 2015-06-01 09:07:05 +02:00
dw_mmc-pci.c mmc: dw_mmc-pci: Remove superflous #else condition on CONFIG_PM_SLEEP 2014-09-09 13:59:05 +02:00
dw_mmc-pltfm.c mmc: dw_mmc: Add external dma interface support 2015-10-26 16:00:16 +01:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: mmc: extend the mmc_send_tuning() 2015-10-27 10:38:41 +01:00
dw_mmc.c mmc: dw_mmc: fix the wrong setting for UHS-DDR50 mode 2015-10-29 11:00:43 +01:00
dw_mmc.h mmc: dw_mmc: fix the CardThreshold boundary at CardThrCtl register 2015-10-29 11:00:37 +01:00
jz4740_mmc.c mmc: remove .owner field for drivers using module_platform_driver 2014-09-09 13:59:04 +02:00
Kconfig Merge branch 'v4.4-16.09-android-tmp' into lsk-v4.4-16.09-android 2016-12-16 13:52:17 -08:00
Makefile mmc: cmdq: support for command queue enabled host 2016-05-31 15:26:28 -07:00
mmc_spi.c mmc: mmc_spi: Add Card Detect comments and fix CD GPIO case 2016-04-12 09:09:01 -07:00
mmci.c mmc: mmci: fix an ages old detection error 2016-03-03 15:07:15 -08:00
mmci.h mmc: mmci: Add Qcom specific rx_fifocnt logic. 2014-07-09 11:25:57 +02:00
mmci_qcom_dml.c mmc: mmci: Add qcom dml support to the driver. 2014-09-09 13:58:46 +02:00
mmci_qcom_dml.h mmc: mmci: Add qcom dml support to the driver. 2014-09-09 13:58:46 +02:00
moxart-mmc.c mmc: moxart: Fix module autoload for OF platform driver 2015-10-26 15:59:57 +01:00
mtk-sd.c mmc: mediatek: Preinitialize delay_phase in get_best_delay() 2015-11-09 13:16:44 +01:00
mvsdio.c mmc: mvsdio: don't use devm_pinctrl_get_select_default() in probe 2015-01-19 09:56:21 +01:00
mvsdio.h
mxcmmc.c mmc: host: mxcmmc: Simplify a trivial if-return sequence 2015-06-01 09:07:02 +02:00
mxs-mmc.c mmc: mxs: Constify platform_device_id 2015-06-01 09:06:50 +02:00
of_mmc_spi.c
omap.c mmc: omap: Fix module autoload for OF platform driver 2015-10-26 15:59:58 +01:00
omap_hsmmc.c mmc: host: omap_hsmmc: Fix MMC for omap3 legacy booting 2015-10-08 09:36:13 +02:00
pxamci.c mmc: pxamci: fix again read-only gpio detection polarity 2016-03-03 15:07:15 -08:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx: Constify platform_device_id 2015-06-01 09:06:50 +02:00
rtsx_usb_sdmmc.c mmc: rtsx: Constify platform_device_id 2015-06-01 09:06:50 +02:00
s3cmci.c mmc: s3cmci: Constify platform_device_id 2015-06-01 09:06:51 +02:00
s3cmci.h mmc: s3cmci: port DMA code to dmaengine API 2014-07-09 11:26:13 +02:00
sdhci-acpi.c mmc: sdhci-acpi: Reduce Baytrail eMMC/SD/SDIO hangs 2016-09-07 08:32:37 +02:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: fix logic to check for 8-bit data width 2015-10-26 15:59:55 +01:00
sdhci-bcm2835.c mmc: sdhci-bcm2835: Actually enable the clock 2015-06-01 09:56:07 +02:00
sdhci-cns3xxx.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-dove.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-esdhc-imx.c mmc: mmc: extend the mmc_send_tuning() 2015-10-27 10:38:41 +01:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: support both BE and LE host controller 2015-10-26 16:00:08 +01:00
sdhci-iproc.c mmc: sdhci-iproc: fix oops in sdhci_iproc_writew 2015-03-23 14:13:47 +01:00
sdhci-msm-ice.c mmc: sdhci-msm-ice: Update ice config vop to config_start 2017-01-19 16:57:30 +05:30
sdhci-msm-ice.h crypto: ice: Make ICE init & reset API synchronous 2016-05-31 15:27:47 -07:00
sdhci-msm.c mmc: sdhci-msm: Disable controller clocks in suspend 2017-01-30 22:03:09 -08:00
sdhci-msm.h mmc: host: Register changes for msmfalcon 2016-10-12 08:58:23 +05:30
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add the support for sdhci-5.1 2015-08-27 14:50:54 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: remove a line of dead code 2015-10-26 15:59:56 +01:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: avoid writing power control register 2015-10-26 16:00:15 +01:00
sdhci-of-hlwd.c mmc: sdhci: set the .remove to sdhci_pltfm_unregister() 2015-03-23 14:13:35 +01:00
sdhci-pci-core.c mmc: sdhci-pci: Remove MMC_CAP_BUS_WIDTH_TEST for Intel controllers 2016-06-01 12:15:50 -07:00
sdhci-pci-data.c mmc: sdhci-pci: Add support for drive strength selection for SPT 2015-06-01 09:07:14 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static 2015-10-26 16:00:05 +01:00
sdhci-pci-o2micro.h mmc: sdhci-pci: Make sdhci_pci_o2_fujin2_pci_init() static 2015-10-26 16:00:05 +01:00
sdhci-pci.h mmc: sdhci-pci: Add support and PCI IDs for more Broxton host controllers 2016-04-20 15:42:14 +09:00
sdhci-pltfm.c mmc: sdhci-pltfm: Use of_property_read_u32 instead of open-coding it 2015-10-26 15:59:57 +01:00
sdhci-pltfm.h
sdhci-pxav2.c mmc: sdhci-{pxav2,pxav3}: Use of_match_ptr() macro 2015-06-01 09:06:53 +02:00
sdhci-pxav3.c mmc: sdhci-pxav3: fix error handling of armada_38x_quirks 2015-10-08 19:24:23 +02:00
sdhci-s3c-regs.h
sdhci-s3c.c mmc: sdhci-s3c: Constify platform_device_id 2015-06-01 09:06:52 +02:00
sdhci-sirf.c mmc: mmc: extend the mmc_send_tuning() 2015-10-27 10:38:41 +01:00
sdhci-spear.c Update Viresh Kumar's email address 2015-07-17 16:39:53 -07:00
sdhci-st.c mmc: sdhci-st: Fix modalias to make module auto-loading work 2015-06-01 09:07:07 +02:00
sdhci-tegra.c mmc: sdhci-tegra: convert to use GPIO descriptors 2015-04-01 12:56:07 +02:00
sdhci.c mmc: sdhci: Add mmc tracing events for legacy mode. 2017-01-11 09:35:48 +05:30
sdhci.h Merge branch 'v4.4-16.09-android-tmp' into lsk-v4.4-16.09-android 2016-12-16 13:52:17 -08:00
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: Fix the size passed to sdhci_alloc_host 2015-06-01 09:06:46 +02:00
sdricoh_cs.c
sh_mmcif.c mmc: sh_mmcif: Correct TX DMA channel allocation 2016-04-12 09:08:32 -07:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info 2015-03-05 21:54:26 +05:30
sunxi-mmc.c mmc: sunxi: Add card busy detection 2015-10-26 16:00:02 +01:00
tifm_sd.c mmc: Convert pr_warning to pr_warn 2014-09-24 10:13:09 +02:00
tmio_mmc.c mmc: TMIO: Use devm_request_irq() 2015-06-01 09:06:48 +02:00
tmio_mmc.h mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x 2015-03-05 21:54:17 +05:30
tmio_mmc_dma.c mmc: tmio: mmc: tmio: tmio_mmc_data has .chan_priv_?x 2015-03-05 21:54:17 +05:30
tmio_mmc_pio.c mmc: tmio: Fix timeout value for command request 2015-08-24 11:25:53 +02:00
toshsd.c mmc: toshsd: Fix unbalanced locking 2015-01-19 09:56:07 +01:00
toshsd.h mmc: add Toshiba PCI SD controller driver 2014-11-26 14:30:58 +01:00
usdhi6rol0.c mmc: usdhi6rol0: handle NULL data in timeout 2016-03-03 15:07:15 -08:00
ushc.c
via-sdmmc.c
vub300.c mmc: vub300: Remove unneded semicolons 2015-10-26 15:59:54 +01:00
wbsd.c mmc: wbsd: Remove unneded semicolon 2015-10-26 15:59:53 +01:00
wbsd.h
wmt-sdmmc.c mmc: constify of_device_id array 2015-03-23 14:13:49 +01:00