linux_dsm_epyc7002/drivers/mmc/host
Patrice Chotard 6ea9cdf391 mmc: mmci: Don't pretend all variants to have MMCIMASK1 register
Two mask registers are used in order to select which events have to
actually generate an interrupt on each IRQ line.

It seems that in the single-IRQ case it's assumed that the IRQs lines
are simply OR-ed, while the two mask registers are still present. The
driver still programs the two mask registers separately.

However the STM32 variant has only one IRQ, and also has only one mask
register.

This patch prepares for STM32 variant support by making the driver using
only one mask register.

This patch also optimize the MMCIMASK1 mask usage by caching it into
host->mask1_reg which avoid to read it into mmci_irq().

Tested only on STM32 variant. RFT for variants other than STM32

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2018-01-18 18:14:45 +01:00
..
android-goldfish.c mmc: android-goldfish: remove duplicate includes 2017-12-18 13:56:59 +01:00
atmel-mci.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
au1xmmc.c mmc: host: drop owner assignment from platform_drivers 2014-10-20 16:20:56 +02:00
bcm2835.c mmc: bcm2835: constify mmc_host_ops structures 2017-08-30 14:01:45 +02:00
bfin_sdh.c mmc: bfin_sdh: remove the MMC_DATA_STREAM flag 2016-02-29 11:02:59 +01:00
cavium-octeon.c mmc: cavium-octeon: Convert to use module_platform_driver 2017-08-30 15:03:38 +02:00
cavium-thunderx.c mmc: cavium: Fix use-after-free in of_platform_device_destroy 2017-09-08 15:38:22 +02:00
cavium.c mmc: cavium: catch all errors when getting regulators 2017-10-30 11:50:33 +01:00
cavium.h mmc: cavium: Add scatter-gather DMA support 2017-04-24 21:42:10 +02:00
cb710-mmc.c
cb710-mmc.h mmc: cb710: use to_platform_device() 2016-01-05 18:04:57 +01:00
cqhci.c mmc: cqhci: support for command queue enabled host 2017-12-11 12:44:34 +01:00
cqhci.h mmc: cqhci: Ensure macro parameters are wrapped in parentheses 2017-12-11 13:11:21 +01:00
davinci_mmc.c mmc: davinci: constify mmc_host_ops structures 2017-08-30 14:01:41 +02:00
dw_mmc-exynos.c mmc: dw_mmc: use the 'slot' instead of 'cur_slot' 2017-06-29 17:14:26 +02: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: make array hs_timing_cfg static 2017-10-30 11:46:01 +01:00
dw_mmc-pci.c mmc: dw_mmc: Remove the public dw_mmc header file 2017-02-13 13:19:59 +01:00
dw_mmc-pltfm.c mmc: dw_mmc: Remove the public dw_mmc header file 2017-02-13 13:19:59 +01:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc-rockchip: parse rockchip, desired-num-phases from DT 2017-06-29 17:13:59 +02:00
dw_mmc-zx.c mmc: dw_mmc: zx: Initial support for ZX mmc controller 2017-02-13 13:20:03 +01:00
dw_mmc-zx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dw_mmc.c mmc: dw_mmc: Convert timers to use timer_setup() 2017-11-02 15:20:44 +01:00
dw_mmc.h mmc: dw_mmc: correct outdated comment for use_dma 2017-10-30 11:45:55 +01:00
jz4740_mmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
Kconfig mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1 2018-01-16 08:21:56 +01:00
Makefile mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy. 2018-01-04 12:46:11 +01:00
meson-gx-mmc.c mmc: meson-gx-mmc: Fix platform_get_irq's error checking 2017-12-15 09:13:16 +01:00
meson-mx-sdio.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mmc_spi.c mmc: use new core function mmc_get_dma_dir 2017-04-24 21:41:52 +02:00
mmci_qcom_dml.c scripts/spelling.txt: add "intialization" pattern and fix typo instances 2017-02-27 18:43:47 -08:00
mmci_qcom_dml.h mmc: mmci: Add qcom dml support to the driver. 2014-09-09 13:58:46 +02:00
mmci.c mmc: mmci: Don't pretend all variants to have MMCIMASK1 register 2018-01-18 18:14:45 +01:00
mmci.h mmc: mmci: Don't pretend all variants to have MMCIMASK1 register 2018-01-18 18:14:45 +01:00
moxart-mmc.c mmc: moxart: constify mmc_host_ops structures 2017-08-30 14:01:41 +02:00
mtk-sd.c mmc: mediatek: perfer to use rise edge latching for cmd line 2017-11-02 15:20:27 +01:00
mvsdio.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mvsdio.h
mxcmmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
mxs-mmc.c mmc: mxs-mmc: Implement CMD23 support 2017-02-13 13:20:27 +01:00
of_mmc_spi.c mmc: of_mmc_spi: fix restricted cast warning of sparse 2017-08-30 14:01:45 +02:00
omap_hsmmc.c mmc: omap_hsmmc: catch all errors when getting regulators 2017-10-30 11:50:36 +01:00
omap.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
pxamci.c mmc: Delete bounce buffer handling 2017-10-04 10:22:55 +02:00
pxamci.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
renesas_sdhi_core.c mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument 2018-01-18 09:08:56 +01:00
renesas_sdhi_internal_dmac.c mmc: tmio, renesas_sdhi: move Renesas-specific DMA data to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
renesas_sdhi_sys_dmac.c mmc: tmio, renesas_sdhi: Remove unneeded NULL check 2018-01-11 15:51:01 +01:00
renesas_sdhi.h mmc: tmio,renesas_sdhi: move ssc_tappos to renesas_sdhi.h 2017-12-19 08:50:04 +01:00
rtsx_pci_sdmmc.c mmc: rtsx: fix tuning fail on gen3 PCI-Express 2017-10-30 11:45:53 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: make array 'width' static const 2017-08-30 14:01:27 +02:00
s3cmci.c Merge branch 'fixes' into next 2018-01-04 12:44:21 +01:00
s3cmci.h mmc: s3cmci: Register cpufreq notifier only on S3C24xx 2016-07-25 10:34:46 +02:00
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: add ACPI support 2018-01-11 15:50:53 +01:00
sdhci-acpi.c mmc: sdhci-acpi: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: constify sdhci_pltfm_data and sdhci_ops structures 2017-08-30 14:01:52 +02:00
sdhci-brcmstb.c mmc: sdhci: enable/disable the clock in sdhci_pltfm_suspend/resume 2017-08-30 15:03:44 +02:00
sdhci-cadence.c mmc: sdhci-cadence: use bitfield access macros for cleanup 2017-10-30 11:50:32 +01: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 Merge branch 'fixes' into next 2018-01-15 13:53:10 +01:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: support ESDHC_CAPABILITIES_1 accessing 2017-08-30 15:03:36 +02:00
sdhci-iproc.c mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read 2017-05-22 18:18:04 +02:00
sdhci-msm.c mmc: sdhci-msm: Optionally wait for signal level changes 2017-11-23 14:39:26 +01:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add CQHCI support for arasan,sdhci-5.1 2018-01-16 08:21:56 +01:00
sdhci-of-at91.c mmc: sdhci-of-at91: make function sdhci_at91_set_uhs_signaling static 2017-10-30 11:46:01 +01:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix the mmc error after sleep on ls1046ardb 2017-12-11 12:53:06 +01:00
sdhci-of-hlwd.c mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS 2016-07-29 11:29:04 +02:00
sdhci-omap.c mmc: sdhci-omap: make three functions static, fixes warnings 2017-10-02 08:18:11 +02:00
sdhci-pci-arasan.c mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy. 2018-01-04 12:46:11 +01:00
sdhci-pci-core.c mmc: sdhci-pci: Use device wakeup capability to determine MMC_PM_WAKE_SDIO_IRQ capability 2018-01-17 12:30:43 +01:00
sdhci-pci-data.c mmc: sdhci-pci: Use ACPI DSM to get driver strength for some Intel devices 2017-04-24 21:41:28 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci: Tidy o2micro definitions 2017-10-30 11:50:41 +01:00
sdhci-pci.h mmc:host:sdhci-pci:Addition of Arasan PCI Controller with integrated phy. 2018-01-04 12:46:11 +01:00
sdhci-pic32.c mmc: sdhci: constify sdhci_pltfm_data structures 2017-08-30 14:01:51 +02:00
sdhci-pltfm.c mmc: sdhci-pltfm: export sdhci_pltfm_suspend/resume 2017-08-30 15:03:45 +02:00
sdhci-pltfm.h mmc: sdhci-pltfm: export sdhci_pltfm_suspend/resume 2017-08-30 15:03:45 +02:00
sdhci-pxav2.c mmc: sdhci-pxav2: switch to managed clk and sdhci_pltfm_unregister() 2017-08-30 15:03:44 +02:00
sdhci-pxav3.c mmc: sdhci: constify sdhci_pltfm_data structures 2017-08-30 14:01:51 +02:00
sdhci-s3c.c mmc: sdhci-s3c: Fix driver data for Exynos4 SoCs 2017-10-30 11:46:00 +01:00
sdhci-sirf.c mmc: sdhci: enable/disable the clock in sdhci_pltfm_suspend/resume 2017-08-30 15:03:44 +02:00
sdhci-spear.c mmc: sdhci-spear: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
sdhci-st.c mmc: sdhci-st: explicitly request exclusive reset control 2017-08-30 14:01:37 +02:00
sdhci-tegra.c mmc: tegra: Mark 64 bit dma broken on Tegra186 2017-10-30 11:40:07 +01:00
sdhci-xenon-phy.c mmc: sdhci-xenon: Support HS400 Enhanced Strobe feature 2017-08-30 15:03:43 +02:00
sdhci-xenon.c mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable 2017-12-19 08:53:04 +01:00
sdhci-xenon.h mmc: sdhci-xenon: Fix clock resource by adding an optional bus clock 2017-10-04 10:50:36 +02:00
sdhci.c mmc: sdhci: Rework sdhci_enable_irq_wakeups() 2018-01-17 12:30:43 +01:00
sdhci.h mmc: sdhci: Handle failure of enable_irq_wake() 2018-01-17 12:30:43 +01:00
sdricoh_cs.c mmc: sdricoh_cs: constify mmc_host_ops structures 2017-08-30 14:01:44 +02:00
sh_mmcif.c mmc: sh_mmcif: remove redundant initialization of 'opc' 2018-01-18 09:08:11 +01:00
sunxi-mmc.c mmc: sunxi-mmc: Handle return value of platform_get_irq 2017-12-15 09:13:16 +01:00
tifm_sd.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
tmio_mmc_core.c mmc: tmio: refactor .get_ro hook 2018-01-18 09:08:56 +01:00
tmio_mmc.c mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument 2018-01-18 09:08:56 +01:00
tmio_mmc.h mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument 2018-01-18 09:08:56 +01:00
toshsd.c mmc: toshsd: constify mmc_host_ops structures 2017-08-30 14:01:42 +02:00
toshsd.h mmc: add Toshiba PCI SD controller driver 2014-11-26 14:30:58 +01:00
usdhi6rol0.c mmc: usdhi6rol0: catch all errors when getting regulators 2017-10-30 11:50:37 +01:00
ushc.c mmc: ushc: fix NULL-deref at probe 2017-03-16 15:31:27 +01:00
via-sdmmc.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
vub300.c mmc: vub300: Use common code in __download_offload_pseudocode() 2017-11-02 15:20:29 +01:00
wbsd.c mmc: Convert timers to use timer_setup() 2017-11-02 15:20:28 +01:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Handle return value of clk_prepare_enable 2017-08-30 14:01:55 +02:00