linux_dsm_epyc7002/drivers/mmc/host
Ludovic Barre 8266c585f4 mmc: mmci: add hardware busy timeout feature
In the stm32_sdmmc variant, the datatimer is active not only during
data transfers with the DPSM, but also while waiting for the busyend
IRQs from commands having the MMC_RSP_BUSY flag set. This leads to an
incorrect IRQ being raised to signal MCI_DATATIMEOUT error, which
simply breaks the behaviour.

Address this by updating the datatimer value before sending a command
having the MMC_RSP_BUSY flag set. To inform the mmc core about the
maximum supported busy timeout, which also depends on the current
clock rate, set ->max_busy_timeout (in ms).

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2019-11-13 16:10:16 +01:00
..
alcor.c mmc: alcor: remove a redundant greater or equal to zero comparison 2019-07-10 13:17:30 +02:00
android-goldfish.c MMC core: 2019-07-11 18:11:21 -07:00
atmel-mci.c mmc: atmel-mci: Mark expected switch fall-throughs 2019-09-11 15:58:39 +02:00
au1xmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
bcm2835.c mmc: bcm2835: Use devm_platform_ioremap_resource wrapper 2019-11-13 16:10:16 +01:00
cavium-octeon.c mmc: cavium-octeon: Use devm_platform_ioremap_resource() 2019-11-13 16:10:16 +01:00
cavium-thunderx.c
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: Commit descriptors before setting the doorbell 2019-10-21 13:38:23 +02:00
cqhci.h
davinci_mmc.c
dw_mmc-bluefield.c
dw_mmc-exynos.c
dw_mmc-exynos.h
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
dw_mmc-pci.c
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c
dw_mmc-zx.c
dw_mmc-zx.h
dw_mmc.c mmc: dw_mmc: fix indentation issue 2019-11-13 16:10:16 +01:00
dw_mmc.h
jz4740_mmc.c mmc: jz4740: Drop dependency on arch header 2019-09-11 15:58:39 +02:00
Kconfig mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01:00
Makefile mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01:00
meson-gx-mmc.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
meson-mx-sdio.c mmc: meson-mx-sdio: Fix misuse of GENMASK macro 2019-07-22 15:09:23 +02:00
mmc_spi.c mmc: mmc_spi: Convert to use for_each_sg() 2019-09-11 15:58:39 +02:00
mmci_qcom_dml.c
mmci_stm32_sdmmc.c
mmci.c mmc: mmci: add hardware busy timeout feature 2019-11-13 16:10:16 +01:00
mmci.h mmc: mmci: add hardware busy timeout feature 2019-11-13 16:10:16 +01:00
moxart-mmc.c
mtk-sd.c mmc: mtk-sd: Re-store SDIO IRQs mask at system resume 2019-09-11 16:10:18 +02:00
mvsdio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mvsdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxcmmc.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
mxs-mmc.c mmc: mxs: fix flags passed to dmaengine_prep_slave_sg 2019-10-21 16:16:38 +02:00
of_mmc_spi.c
omap_hsmmc.c
omap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
owl-mmc.c mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01:00
pxamci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pxamci.h
renesas_sdhi_core.c mmc: renesas_sdhi: Do not use platform_get_irq() to count interrupts 2019-10-03 11:36:22 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi_internal_dmac: Add MMC_CAP2_MERGE_CAPABLE 2019-09-12 13:14:09 +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
rtsx_pci_sdmmc.c
rtsx_usb_sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
s3cmci.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
s3cmci.h MMC core: 2019-07-11 18:11:21 -07:00
sdhci_am654.c mmc: sdhci_am654: Make some symbols static 2019-07-10 13:17:30 +02:00
sdhci_f_sdh30.c mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +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-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +02:00
sdhci-bcm-kona.c
sdhci-brcmstb.c
sdhci-cadence.c mmc: sdhci-cadence: override spec version 2019-09-11 15:58:39 +02:00
sdhci-cns3xxx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sdhci-dove.c
sdhci-esdhc-imx.c mmc: sdhci: Drop redundant code for SDIO IRQs 2019-09-11 16:10:19 +02:00
sdhci-esdhc.h
sdhci-iproc.c mmc: sdhci-iproc: fix spurious interrupts on Multiblock reads with bcm2711 2019-10-09 11:05:50 +02:00
sdhci-milbeaut.c mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdhci-msm.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add Support for Intel LGM eMMC 2019-09-11 15:58:39 +02:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: Allow max-frequency limitation of SDCLK 2019-09-11 15:58:39 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: add quirk for broken HS200 2019-08-22 13:49:40 +02:00
sdhci-of-dwcmshc.c
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence 2019-09-27 20:30:13 +02:00
sdhci-of-hlwd.c
sdhci-omap.c mmc: sdhci-omap: Fix Tuning procedure for temperatures < -20C 2019-10-21 13:37:49 +02:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906 2019-11-13 16:10:16 +01:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: host: sdhci-pci: Add Genesys Logic GL975x support 2019-09-27 20:48:20 +02:00
sdhci-pci-o2micro.c Merge branch 'fixes' into next 2019-09-11 15:59:01 +02:00
sdhci-pci.h mmc: host: sdhci-pci: Add Genesys Logic GL975x support 2019-09-27 20:48:20 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sdhci-pxav2.c
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: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-sirf.c
sdhci-spear.c
sdhci-sprd.c mmc: sdhci-sprd: clear the UHS-I modes read from registers 2019-08-30 09:17:53 +02:00
sdhci-st.c
sdhci-tegra.c mmc: tegra: Implement ->set_dma_mask() 2019-09-27 20:30:13 +02:00
sdhci-xenon-phy.c
sdhci-xenon.c mmc: sdhci-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +02:00
sdhci-xenon.h
sdhci.c mmc: sdhci: Check card status after reset 2019-11-13 16:10:16 +01:00
sdhci.h mmc: sdhci: Let drivers define their DMA mask 2019-09-27 20:30:13 +02:00
sdricoh_cs.c
sh_mmcif.c mmc: sh_mmcif: Use platform_get_irq_optional() for optional interrupt 2019-10-03 11:38:37 +02:00
sunxi-mmc.c
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 workaround for NON_REMOVABLE 2019-11-13 16:10:16 +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: Fixup runtime PM management during probe 2019-09-13 13:49:04 +02:00
toshsd.c
toshsd.h
uniphier-sd.c Merge branch 'fixes' into next 2019-09-13 13:57:37 +02:00
usdhi6rol0.c
ushc.c
via-sdmmc.c
vub300.c
wbsd.c
wbsd.h
wmt-sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00