linux/drivers/mmc/host
Wolfram Sang d14ac691bb mmc: renesas_sdhi: populate SCC pointer at the proper place
The SCC pointer is currently filled whenever the SoC is Gen2+. This is
wrong because there is a Gen2-variant without SCC (SDHI_VER_GEN2_SDR50).
We have been lucky because the writes to unintended registers have not
caused problems so far. But further refactoring work exposed the
problem. So, move the pointer initialization to the place where we know
that the SDHI instance supports tuning. And also populate the 'reset'
pointer unconditionally to make sure the interrupt enable register is
always properly set for Gen2+.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20201110142058.36393-4-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2020-11-16 12:48:19 +01:00
..
Kconfig mmc: s3cmci: enable compile testing 2020-11-16 11:59:27 +01:00
Makefile mmc: sdhci-of-sparx5: Add Sparx5 SoC eMMC driver 2020-09-07 09:11:30 +02:00
alcor.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4 2020-09-07 14:24:21 +02:00
android-goldfish.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
atmel-mci.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
au1xmmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
bcm2835.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
cavium-octeon.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
cavium-thunderx.c mmc: cavium: Add missed pci_release_regions 2019-12-18 12:55:11 +01:00
cavium.c mmc: host: Drop redundant MMC_CAP_ERASE 2020-05-28 11:22:14 +02:00
cavium.h
cb710-mmc.c mmc: cb710: Inform the mmc core about the maximum busy timeout 2020-05-28 11:22:13 +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: add new cqhci_host_ops pre_enable() and post_disable() 2020-09-07 09:11:31 +02:00
cqhci.h mmc: cqhci: add new cqhci_host_ops pre_enable() and post_disable() 2020-09-07 09:11:31 +02:00
davinci_mmc.c mmc: davinci: remove unneeded semicolon 2020-11-16 11:59:28 +01:00
dw_mmc-bluefield.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 2020-09-07 14:24:21 +02:00
dw_mmc-exynos.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02: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: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 2020-09-07 14:24:21 +02:00
dw_mmc-k3.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +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 mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02: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 mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
dw_mmc-zx.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02: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: replace spin_lock_irqsave by spin_lock in hard IRQ 2020-11-16 11:59:30 +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: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
meson-gx-mmc.c mmc: meson-gx: drop of_match_ptr from of_device_id table 2020-11-16 11:59:30 +01:00
meson-mx-sdhc-clkc.c mmc: meson-mx-sdhc: Don't use literal 0 to initialize structs 2020-05-28 11:22:15 +02:00
meson-mx-sdhc-mmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 2020-09-07 14:24:21 +02:00
meson-mx-sdhc.h mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host 2020-05-28 11:22:14 +02:00
meson-mx-sdio.c mmc: meson-mx-sdio: replace spin_lock_irqsave by spin_lock in hard IRQ 2020-11-16 11:59:29 +01: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 Merge branch 'fixes' into next 2020-09-14 11:46:47 +02:00
mmci.c mmc: mmci: add sdio datactrl mask for sdmmc revisions 2020-07-13 12:18:23 +02: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 DMA API warning max segment size 2020-05-29 12:38:00 +02:00
moxart-mmc.c mmc: moxart: replace spin_lock_irqsave by spin_lock in hard IRQ 2020-11-16 11:59:29 +01:00
mtk-sd.c mmc: mediatek: add HS400 enhanced strobe support 2020-11-16 11:59:29 +01:00
mvsdio.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
mvsdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxcmmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
mxs-mmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
of_mmc_spi.c mmc: mmc_spi: Convert to use SPDX identifier 2019-04-15 11:55:54 +02:00
omap.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
omap_hsmmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
owl-mmc.c mmc: owl-mmc: use true and false for bool variables 2020-11-16 12:44:31 +01:00
pxamci.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +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.h mmc: renesas_sdhi: drop local flag for tuning 2020-09-25 13:24:02 +02:00
renesas_sdhi_core.c mmc: renesas_sdhi: populate SCC pointer at the proper place 2020-11-16 12:48:19 +01:00
renesas_sdhi_internal_dmac.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
renesas_sdhi_sys_dmac.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
rtsx_pci_sdmmc.c mmc: rtsx: Add test mode for RTS5261 2020-11-16 11:59:29 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: simplify the return expression of sd_change_phase() 2020-09-25 13:24:02 +02:00
s3cmci.c mmc: s3cmci: include GPIO descriptor consumer header 2020-11-16 11:59:27 +01:00
s3cmci.h MMC core: 2019-07-11 18:11:21 -07:00
sdhci-acpi.c mmc: sdhci-acpi: AMDI0040: Allow changing HS200/HS400 driver strength 2020-11-16 11:59:27 +01:00
sdhci-bcm-kona.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-brcmstb.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9 2020-09-07 14:24:21 +02:00
sdhci-cadence.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
sdhci-cns3xxx.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-dove.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-esdhc-imx.c mmc: sdhci: fix indentation mistakes 2020-09-25 13:24:02 +02:00
sdhci-esdhc-mcf.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 2020-09-07 14:24:21 +02:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: make sure delay chain locked for HS400 2020-10-28 11:07:01 +01:00
sdhci-iproc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-milbeaut.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 2020-09-07 14:24:21 +02:00
sdhci-msm.c mmc: sdhci-msm: Unconditionally call dev_pm_opp_of_remove_table() 2020-09-11 11:43:21 +02:00
sdhci-of-arasan.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-of-aspeed.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4 2020-09-07 14:24:21 +02:00
sdhci-of-at91.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-of-dwcmshc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 2020-09-07 14:24:21 +02:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs 2020-11-10 13:20:37 +01:00
sdhci-of-hlwd.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-of-sparx5.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 2020-09-07 14:24:21 +02:00
sdhci-omap.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.19 2020-09-07 14:24:21 +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 Merge branch 'fixes' into next 2020-09-28 12:17:36 +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 mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
sdhci-pci-gli.c mmc: sdhci-pci-gli: Add CQHCI Support for GL9763E 2020-10-07 11:25:32 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: Add HW tuning for SDR104 mode 2020-07-24 12:34:42 +02:00
sdhci-pci.h mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support 2020-05-28 11:22:14 +02:00
sdhci-pic32.c mmc: sdhci-pic32: Make pic32_sdhci_probe_platform() void 2020-11-16 11:59:30 +01:00
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 mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-pxav3.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-s3c.c mmc: sdhci-s3c: hide forward declaration of of_device_id behind CONFIG_OF 2020-09-25 13:30:52 +02:00
sdhci-sirf.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-spear.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-sprd.c mmc: sdhci: fix indentation mistakes 2020-09-25 13:24:02 +02:00
sdhci-st.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-tegra.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-xenon-phy.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sdhci-xenon.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +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 Auto CMD Auto Select only when v4_mode is true 2020-10-15 12:29:59 +02:00
sdhci.h mmc: sdhci: Allow platform controlled voltage switching 2020-07-13 12:18:24 +02:00
sdhci_am654.c mmc: sdhci_am654: Fix module autoload 2020-10-09 08:58:58 +02:00
sdhci_f_sdh30.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci_f_sdh30.h mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdricoh_cs.c mmc: sdricoh_cs: Respect the cmd->busy_timeout from the mmc core 2020-05-28 11:22:14 +02:00
sh_mmcif.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sunxi-mmc.c mmc: sunxi: drop of_match_ptr from of_device_id table 2020-11-16 11:59:27 +01:00
tifm_sd.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
tmio_mmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
tmio_mmc.h mmc: tmio: add generic hook to fixup after a completed request 2020-09-09 13:09:44 +02:00
tmio_mmc_core.c mmc: tmio: bring tuning HW to a sane state with MMC_POWER_OFF 2020-11-10 13:58:01 +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: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4 2020-09-07 14:24:21 +02:00
usdhi6rol0.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
ushc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
via-sdmmc.c mmc: via-sdmmc: Fix data race bug 2020-09-07 09:11:29 +02:00
vub300.c mmc: vub300: Use scnprintf() for avoiding potential buffer overflow 2020-03-24 14:39:52 +01:00
wbsd.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
wbsd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
wmt-sdmmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00