linux-uconsole/drivers/mmc/host
yong mao 9e2582e574 mmc: mediatek: fix SDIO irq issue
SDIO irq is not triggered by low level, but by falling edge in our
previous IC. This mechanism only have one chance to catch the SDIO irq
if a SDIO irq comes within the multiple block transmission. This SDIO
irq may be easily lost, because falling edge appears only once within 2
clock after data transmission is completed.

SDIO irq recheck mechanism will make sure all irqs can be
processed correctly.

Signed-off-by: Yong Mao <yong.mao@mediatek.com>
Link: https://lore.kernel.org/r/1585299097-6897-2-git-send-email-yong.mao@mediatek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2020-03-27 13:21:30 +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: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01:00
au1xmmc.c mmc: au1xmmc: switch to platform_get_irq 2019-12-18 14:55:11 +01: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: Use devm_platform_ioremap_resource() 2019-11-13 16:10:16 +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: Update cqhci memory ioresource name 2020-03-24 14:39:52 +01: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
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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: dw_mmc: Use dma_request_chan() instead dma_request_slave_channel() 2019-12-19 08:19:42 +01: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: meson-gx: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01:00
meson-mx-sdio.c mmc: meson-mx-sdio: convert to devm_platform_ioremap_resource 2019-12-18 14:46:06 +01:00
mmc_hsq.c mmc: host: hsq: Add missing MODULE_LICENSE() and MODULE_DESCRIPTION() 2020-03-24 14:35:40 +01:00
mmc_hsq.h mmc: Add MMC host software queue support 2020-03-24 14:35:39 +01:00
mmc_spi.c mmc: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
mmci.c mmc: mmci: Add support for sdmmc variant revision 2.0 2020-03-24 14:35:40 +01:00
mmci.h mmc: mmci_sdmmc: Implement signal voltage callbacks 2020-03-24 14:35:40 +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
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: mediatek: fix SDIO irq issue 2020-03-27 13:21:30 +01: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
omap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap_hsmmc.c mmc: omap_hsmmc: Convert to pinctrl_select_default_state() 2019-12-16 13:00:41 +01: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.h mmc: renesas_sdhi: Use BITS_PER_LONG helper 2020-03-24 14:39:52 +01:00
renesas_sdhi_core.c mmc: renesas_sdhi: simplify execute_tuning 2020-03-24 14:39:52 +01: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
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: core: Remove mmc_gpiod_request_*(invert_gpio) 2019-12-18 13:37:07 +01:00
s3cmci.h MMC core: 2019-07-11 18:11:21 -07:00
sdhci-acpi.c mmc: Replace zero-length array with flexible-array member 2020-03-24 14:39:45 +01:00
sdhci-bcm-kona.c
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-esdhc-imx: restore pin state when resume back 2020-03-24 14:35:41 +01: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: Deactivate CQE during SDHC reset 2020-03-24 14:39:52 +01:00
sdhci-of-arasan.c mmc: sdhci: arasan: Use sdhci_set_power_and_voltage() 2020-03-24 14:39:53 +01: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-of-at91: Display clock changes for debug purpose only 2020-03-24 14:39:53 +01: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 Merge branch 'fixes' into next 2019-12-18 14:44:24 +01:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: sdhci-pci-gli: Enable MSI interrupt for GL975x 2020-03-04 15:41:22 +01: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: sdhci-sprd: Set the missing MMC_CAP_WAIT_WHILE_BUSY flag 2020-03-24 14:35:42 +01: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-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +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: use FIELD_GET for preset value bit masks 2020-03-24 14:39:53 +01:00
sdhci.h mmc: sdhci: use FIELD_GET for preset value bit masks 2020-03-24 14:39:53 +01: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
sdricoh_cs.c
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: sunxi-mmc: convert to devm_platform_ioremap_resource 2019-12-18 14:46:06 +01:00
tifm_sd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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
tmio_mmc_core.c mmc: tmio: remove superfluous callback wrappers 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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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