kernel-fxtec-pro1x/drivers/mmc/host
Adrian Hunter 61e53bd004 mmc: sdhci: Fix recovery from tuning timeout
Clearing the tuning bits should reset the tuning circuit. However there is
more to do. Reset the command and data lines for good measure, and then
for eMMC ensure the card is not still trying to process a tuning command by
sending a stop command.

Note the JEDEC eMMC specification says the stop command (CMD12) can be used
to stop a tuning command (CMD21) whereas the SD specification is silent on
the subject with respect to the SD tuning command (CMD19). Considering that
CMD12 is not a valid SDIO command, the stop command is sent only when the
tuning command is CMD21 i.e. for eMMC. That addresses cases seen so far
which have been on eMMC.

Note that this replaces the commit fe5fb2e3b5 ("mmc: sdhci: Reset cmd and
data circuits after tuning failure") which is being reverted for v4.9+.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Dan O'Donovan <dan@emutex.com>
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2016-12-05 14:16:20 +01:00
..
android-goldfish.c mmc: android-goldfish: remove incorrect __iomem annotation 2015-09-01 14:19:11 +02:00
atmel-mci.c mmc: atmel-mci: Remove redundant runtime PM calls 2016-05-02 10:33:20 +02:00
au1xmmc.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
bfin_sdh.c mmc: bfin_sdh: remove the MMC_DATA_STREAM flag 2016-02-29 11:02:59 +01:00
cb710-mmc.c mmc: cb710: Move away from using deprecated APIs 2013-10-30 20:26:37 -04:00
cb710-mmc.h mmc: cb710: use to_platform_device() 2016-01-05 18:04:57 +01:00
davinci_mmc.c mmc: davinci: request gpios using gpio descriptors 2016-11-29 09:04:53 +01:00
dw_mmc-exynos.c mmc: dw_mmc: exynos: fix to call suspend callback 2016-12-05 10:31:14 +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: deploy runtime PM facilities 2016-11-29 09:00:39 +01:00
dw_mmc-pci.c mmc: dw_mmc-pci: deploy runtime PM facilities 2016-11-29 09:00:40 +01:00
dw_mmc-pltfm.c mmc: dw_mmc-pltfm: deploy runtime PM facilities 2016-11-29 09:00:41 +01:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc: disable biu clk if possible 2016-11-29 09:00:38 +01:00
dw_mmc.c mmc: dw_mmc: display the clock message only one time when card is polling 2016-12-05 10:31:17 +01:00
dw_mmc.h mmc: dw_mmc: display the clock message only one time when card is polling 2016-12-05 10:31:17 +01:00
jz4740_mmc.c mmc: delete is_first_req parameter from pre-request callback 2016-11-29 09:05:27 +01:00
Kconfig mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select 2016-12-05 10:32:49 +01:00
Makefile MMC: meson: initial support for GX platforms 2016-11-29 09:00:43 +01:00
meson-gx-mmc.c MMC: meson: initial support for GX platforms 2016-11-29 09:00:43 +01:00
mmc_spi.c mmc: mmc_spi: Add Card Detect comments and fix CD GPIO case 2016-03-16 12:36:09 +01:00
mmci.c mmc: delete is_first_req parameter from pre-request callback 2016-11-29 09:05:27 +01:00
mmci.h mmc: mmci: refactor ST Micro busy detection 2016-11-29 09:00:47 +01: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 wait_for_completion_interruptible_timeout return variable type 2016-09-26 21:31:07 +02:00
mtk-sd.c mmc: delete is_first_req parameter from pre-request callback 2016-11-29 09:05:27 +01:00
mvsdio.c mmc: mvsdio: delete platform data code path 2015-12-22 11:32:12 +01:00
mvsdio.h
mxcmmc.c mmc: host: use the defined function to check whether card is removable 2016-07-25 10:34:21 +02:00
mxs-mmc.c mmc: mxs: Initialize the spinlock prior to using it 2016-11-07 13:30:08 +01:00
of_mmc_spi.c mmc: of_mmc_spi: fix unused warning 2016-03-17 14:54:40 +01:00
omap.c mmc: omap: Initialize dma_slave_config to avoid random data in it's fields 2016-09-14 13:59:33 +02:00
omap_hsmmc.c mmc: delete is_first_req parameter from pre-request callback 2016-11-29 09:05:27 +01:00
pxamci.c mmc: pxamci: fix potential oops 2016-07-18 11:50:40 +02:00
pxamci.h
rtsx_pci_sdmmc.c mmc: delete is_first_req parameter from pre-request callback 2016-11-29 09:05:27 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: Enable runtime PM autosuspend 2016-11-29 09:00:28 +01:00
s3cmci.c mmc: s3cmci: Use DMA slave map rather than exported DMA filter 2016-11-29 09:00:45 +01:00
s3cmci.h mmc: s3cmci: Register cpufreq notifier only on S3C24xx 2016-07-25 10:34:46 +02:00
sdhci-acpi.c mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus 2016-12-05 11:13:24 +01:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: fix error return code in sdhci_bcm_kona_probe() 2016-09-26 21:31:08 +02:00
sdhci-brcmstb.c mmc: sdhci-brcmstb: Fix incorrect capability 2016-09-26 21:31:28 +02:00
sdhci-cns3xxx.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdhci-dove.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: Correct two register accesses 2016-10-13 08:58:03 +02: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: support standard byte register accesses 2016-11-29 09:01:00 +01:00
sdhci-msm.c sdhci: sdhci-msm: update dll configuration 2016-11-29 09:05:20 +01:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: add sdhci_arasan_voltage_switch for arasan, 5.1 2016-10-10 14:01:33 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: Fix module autoload 2016-11-29 09:00:29 +01:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 2016-11-29 09:17:21 +01:00
sdhci-of-hlwd.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdhci-pci-core.c mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio 2016-12-05 10:31:19 +01: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 for Intel GLK 2016-11-29 09:05:20 +01:00
sdhci-pic32.c mmc: sdhci-pic32: remove owner assignment 2016-05-02 10:33:25 +02:00
sdhci-pltfm.c mmc: sdhci: Remove ->platform_init() callback as it's no longer used 2016-09-26 21:31:16 +02:00
sdhci-pltfm.h mmc: sdhci: remove unneeded (void *) casts in sdhci_(pltfm_)priv() 2016-11-29 09:01:00 +01:00
sdhci-pxav2.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdhci-pxav3.c mmc: sdhci: Rename sdhci_set_power() to sdhci_set_power_noreg() 2016-10-10 14:20:41 +02:00
sdhci-s3c-regs.h
sdhci-s3c.c mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate 2016-12-05 10:31:17 +01:00
sdhci-sirf.c mmc: sdhci-sirf: Remove non needed #ifdef CONFIG_PM* for dev_pm_ops 2016-07-27 11:25:23 +02:00
sdhci-spear.c Update Viresh Kumar's email address 2015-07-17 16:39:53 -07:00
sdhci-st.c mmc: sdhci-st: Handle interconnect clock 2016-09-12 10:31:43 +02:00
sdhci-tegra.c mmc: tegra: Mark 64-bit DMA broken on Tegra124 2016-09-26 21:31:23 +02:00
sdhci.c mmc: sdhci: Fix recovery from tuning timeout 2016-12-05 14:16:20 +01:00
sdhci.h mmc: sdhci: Factor out sdhci_enable_clk 2016-11-29 09:05:15 +01:00
sdhci_f_sdh30.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdricoh_cs.c mmc: sdricoh_cs: Less checks in sdricoh_init_mmc() after, error detection 2016-02-29 11:02:45 +01:00
sh_mmcif.c mmc: sh_mmcif: Use a 10s timeout in the error recovery path 2016-07-25 10:34:25 +02:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: Add tuning support 2016-11-29 09:00:58 +01:00
sunxi-mmc.c mmc: sunxi: Prevent against null dereference for vmmc 2016-11-29 09:00:31 +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: Add tuning support 2016-11-29 09:00:57 +01:00
tmio_mmc_dma.c mmc: tmio: merge distributed include files 2016-05-02 10:33:40 +02:00
tmio_mmc_pio.c mmc: tmio: remove SDIO from TODO list 2016-11-29 09:01:04 +01:00
toshsd.c PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
toshsd.h mmc: add Toshiba PCI SD controller driver 2014-11-26 14:30:58 +01:00
usdhi6rol0.c mmc: usdhi6rol0: add pinctrl to set pin drive strength 2016-05-02 10:36:06 +02:00
ushc.c mmc: ushc: Fix incorrect parameter in sizeof 2014-02-25 15:42:20 -05:00
via-sdmmc.c mmc: via-sdmmc: Move away from using deprecated APIs 2013-10-30 20:28:36 -04:00
vub300.c mmc: vub300: don't print error when allocating urb fails 2016-09-26 21:31:09 +02:00
wbsd.c mmc: wbsd: implement check for dma mapping error 2016-11-29 09:01:02 +01:00
wbsd.h
wmt-sdmmc.c mmc: constify of_device_id array 2015-03-23 14:13:49 +01:00