linux/drivers/mmc/host
Ulf Hansson ef5053bdf5 mmc: atmel-mci: Respect the cmd->busy_timeout from the mmc core
Using a fixed 2s timeout for all commands is a bit problematic.

For some commands it means waiting longer than needed for the timer to
expire, which may not a big issue, but still. For other commands, like for
an erase (CMD38) that uses a R1B response, may require longer timeouts than
2s. In these cases, we may end up treating the command as it failed, while
it just needed some more time to complete successfully.

Fix the problem by respecting the cmd->busy_timeout, which is provided by
the mmc core.

Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Link: https://lore.kernel.org/r/20200414161413.3036-4-ulf.hansson@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2020-05-28 11:21:00 +02:00
..
alcor.c mmc: alcor: Fix a resource leak in the error path for ->probe() 2020-05-07 15:10:25 +02:00
android-goldfish.c mmc: android-goldfish: Enable MMC_CAP2_NO_SDIO 2020-05-28 11:20:56 +02:00
atmel-mci.c mmc: atmel-mci: Respect the cmd->busy_timeout from the mmc core 2020-05-28 11:21:00 +02:00
au1xmmc.c mmc: au1xmmc: Drop redundant code in au1xmmc_send_command() 2020-05-28 11:20:56 +02:00
bcm2835.c mmc: bcm2835: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:43 +01:00
cavium-octeon.c mmc: cavium-octeon: remove nonsense variable coercion 2020-03-27 13:26:25 +01:00
cavium-thunderx.c mmc: cavium: Add missed pci_release_regions 2019-12-18 12:55:11 +01:00
cavium.c mmc: cavium: Add the missing dma unmap when the dma has finished. 2019-08-06 18:59:14 +02:00
cavium.h
cb710-mmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cb710-mmc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cqhci.c mmc: cqhci: Avoid false "cqhci: CQE stuck on" by not open-coding timeout loop 2020-04-20 09:24:39 +02:00
cqhci.h mmc: cqhci: Add cqhci_deactivate() 2020-03-24 14:39:52 +01:00
davinci_mmc.c mmc: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
dw_mmc-bluefield.c mmc: dw_mmc-bluefield: : Fix the license information 2019-01-22 08:46:20 +01:00
dw_mmc-exynos.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-exynos.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-hi3798cv200.c mmc: dw_mmc: hi3798cv200: make array degrees static const, makes object smaller 2019-09-11 16:10:37 +02:00
dw_mmc-k3.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
dw_mmc-pci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-pltfm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-pltfm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-rockchip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-zx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dw_mmc-zx.h
dw_mmc.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
dw_mmc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
jz4740_mmc.c mmc: jz4740: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01:00
Kconfig mmc: host: sdhci-sprd: Add software queue support 2020-03-24 14:35:39 +01:00
Makefile mmc: Add MMC host software queue support 2020-03-24 14:35:39 +01:00
meson-gx-mmc.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
meson-mx-sdio.c mmc: meson-mx-sdio: remove the broken ->card_busy() op 2020-04-20 09:24:39 +02:00
mmc_hsq.c mmc: host: Introduce the request_atomic() for the host 2020-05-28 11:20:59 +02:00
mmc_hsq.h mmc: host: Introduce the request_atomic() for the host 2020-05-28 11:20:59 +02:00
mmc_spi.c mmc: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
mmci_qcom_dml.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
mmci_stm32_sdmmc.c mmc: mmci_sdmmc: Fix clear busyd0end irq flag 2020-03-26 14:59:31 +01:00
mmci.c mmc: mmci: Switch to mmc_regulator_set_vqmmc() 2020-05-28 11:20:58 +02:00
mmci.h mmc: mmci_sdmmc: Implement signal voltage callbacks 2020-03-24 14:35:40 +01:00
moxart-mmc.c mmc: moxart: Use dma_request_chan() directly for channel request 2019-11-14 16:28:56 +01:00
mtk-sd.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
mvsdio.c mmc: mvsdio: convert to devm_platform_ioremap_resource 2019-12-18 14:55:11 +01:00
mvsdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxcmmc.c mmc: mxcmmc: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
mxs-mmc.c mmc: mxs: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
of_mmc_spi.c mmc: mmc_spi: Convert to use SPDX identifier 2019-04-15 11:55:54 +02:00
omap_hsmmc.c mmc: omap_hsmmc: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01:00
omap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
owl-mmc.c mmc: owl-mmc: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
pxamci.c mmc: pxamci: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
pxamci.h
renesas_sdhi_core.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: use recent tap values for HS400 2019-12-16 12:29:36 +01:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi_sys_dmac: Remove all R-Car Gen3 SoCs 2019-09-11 15:58:39 +02:00
renesas_sdhi.h mmc: renesas_sdhi: improve TAP selection if all TAPs are good 2020-05-28 11:20:57 +02:00
rtsx_pci_sdmmc.c mmc: rtsx_pci: Fix support for speed-modes that relies on tuning 2020-03-18 11:55:02 +01:00
rtsx_usb_sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
s3cmci.c mmc: s3cmci: Drop redundant code in s3cmci_setup_data() 2020-05-28 11:20:56 +02:00
s3cmci.h MMC core: 2019-07-11 18:11:21 -07:00
sdhci_am654.c mmc: sdhci: am654: Use sdhci_set_power_and_voltage() 2020-03-24 14:39:53 +01:00
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: convert to devm_platform_ioremap_resource 2019-12-18 14:46:06 +01:00
sdhci_f_sdh30.h mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdhci-acpi.c mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 2020-05-11 10:51:30 +02:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: Drop unused includes 2019-02-25 08:40:58 +01:00
sdhci-brcmstb.c mmc: sdhci-brcmstb: Fix incorrect switch to HS mode 2020-01-20 12:01:19 +01:00
sdhci-cadence.c mmc: Replace zero-length array with flexible-array member 2020-03-24 14:39:45 +01:00
sdhci-cns3xxx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sdhci-dove.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 176 2019-05-30 11:29:19 -07:00
sdhci-esdhc-imx.c mmc: sdhci: use FIELD_GET/PREP for capabilities bit masks 2020-05-28 11:20:57 +02:00
sdhci-esdhc.h mmc: sdhci-esdhc-imx: optimize the clock setting 2020-03-24 14:35:41 +01:00
sdhci-iproc.c mmc: sdhci: iproc: Add custom set_power() callback for bcm2711 2020-03-24 14:39:53 +01:00
sdhci-milbeaut.c mmc: sdhci: milbeaut: Use sdhci_set_power_and_voltage() 2020-03-24 14:39:53 +01:00
sdhci-msm.c mmc: sdhci-msm: Enable ADMA length mismatch error interrupt 2020-05-28 11:20:59 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Remove uninitialized ret variables 2020-05-28 11:20:58 +02:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: add inversion signal presence 2019-11-20 13:40:47 +01:00
sdhci-of-at91.c mmc: sdhci: use FIELD_GET/PREP for capabilities bit masks 2020-05-28 11:20:57 +02:00
sdhci-of-dwcmshc.c
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix serious issue clock is always disabled 2020-01-20 12:10:36 +01:00
sdhci-of-hlwd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
sdhci-omap.c mmc: sdhci-omap: Add Support for Suspend/Resume 2020-03-24 14:39:52 +01:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci: use FIELD_GET/PREP for capabilities bit masks 2020-05-28 11:20:57 +02:00
sdhci-pci-data.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: sdhci-pci-gli: Fix can not access GL9750 after reboot from Windows 10 2020-05-07 15:10:25 +02:00
sdhci-pci-o2micro.c Merge branch 'fixes' into next 2019-09-11 15:59:01 +02:00
sdhci-pci.h mmc: Replace zero-length array with flexible-array member 2020-03-24 14:39:45 +01:00
sdhci-pic32.c
sdhci-pltfm.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-pltfm.h mmc: Replace zero-length array with flexible-array member 2020-03-24 14:39:45 +01:00
sdhci-pxav2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
sdhci-pxav3.c mmc: sdhci-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +02:00
sdhci-s3c.c mmc: sdhci-s3c: convert to devm_platform_ioremap_resource 2019-12-18 14:46:06 +01:00
sdhci-sirf.c mmc: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
sdhci-spear.c mmc: sdhci-spear: convert to devm_platform_ioremap_resource 2019-12-18 14:46:06 +01:00
sdhci-sprd.c mmc: host: sdhci-sprd: Implement the request_atomic() API 2020-05-28 11:20:59 +02:00
sdhci-st.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sdhci-tegra.c sdhci: tegra: Enable MMC_CAP_WAIT_WHILE_BUSY host capability 2020-03-24 14:39:52 +01:00
sdhci-xenon-phy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
sdhci-xenon.c mmc: sdhci-xenon: fix annoying 1.8V regulator warning 2020-04-20 10:09:03 +02:00
sdhci-xenon.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02:00
sdhci.c mmc: sdhci: add spin lock for sdhci_set_default_irqs in sdhci_init 2020-05-28 11:20:59 +02:00
sdhci.h mmc: host: sdhci: Implement the request_atomic() API 2020-05-28 11:20:59 +02:00
sdricoh_cs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
sh_mmcif.c mmc: sh_mmcif: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
sunxi-mmc.c mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0 2020-05-28 11:20:58 +02:00
tifm_sd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tmio_mmc_core.c mmc: tmio: remove superfluous callback wrappers 2020-03-24 14:35:38 +01:00
tmio_mmc.c Revert "mmc: tmio: move runtime PM enablement to the driver implementations" 2019-09-13 13:48:35 +02:00
tmio_mmc.h mmc: tmio: factor out TAP usage 2020-03-24 14:35:38 +01:00
toshsd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
toshsd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uniphier-sd.c mmc: uniphier-sd: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01:00
usdhi6rol0.c mmc: usdhi6rol0: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01:00
ushc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
via-sdmmc.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
vub300.c mmc: vub300: Use scnprintf() for avoiding potential buffer overflow 2020-03-24 14:39:52 +01:00
wbsd.c mmc: wbsd: Replace hardcoded command numbers with existing defines 2020-05-28 11:20:56 +02:00
wbsd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wmt-sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00