linux/drivers/mmc/host
Wenchao Chen 8abf77c889 mmc: sdhci-sprd: Fix eMMC init failure after hw reset
Some eMMC devices that do not close the auto clk gate after hw reset will
cause eMMC initialization to fail. Let's fix this.

Signed-off-by: Wenchao Chen <wenchao.chen@unisoc.com>
Fixes: ff874dbc4f ("mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K")
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20231204064934.21236-1-wenchao.chen@unisoc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
History 2024-01-03 11:24:03 +01:00
..
alcor.c mmc: alcor: Convert to platform remove callback returning void 2023-08-15 12:45:06 +02:00
atmel-mci.c mmc: atmel-mci: Add description for struct member 2023-09-26 15:12:45 +02:00
au1xmmc.c mmc: au1xmmc: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
bcm2835.c mmc: bcm2835: Convert to platform remove callback returning void 2023-08-15 12:45:03 +02:00
cavium-octeon.c mmc: cavium-octeon: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
cavium-thunderx.c mmc: Explicitly include correct DT includes 2023-08-09 13:21:48 +02:00
cavium.c mmc: cavium: Use '"%s...", __func__' to print function name 2021-03-30 11:42:06 +02:00
cavium.h mmc: cavium: Add scatter-gather DMA support 2017-04-24 21:42:10 +02:00
cb710-mmc.c mmc: cb710: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
cb710-mmc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cqhci-core.c mmc: cqhci: Fix task clearing in CQE error recovery 2023-11-14 17:15:08 +01:00
cqhci-crypto.c blk-crypto: rename blk_keyslot_manager to blk_crypto_profile 2021-10-21 10:49:32 -06:00
cqhci-crypto.h mmc: core: Store pointer to bio_crypt_ctx in mmc_request 2021-08-24 10:15:32 +02:00
cqhci.h mmc: mtk-sd: reduce CIT for better performance 2023-06-12 15:20:08 +02:00
davinci_mmc.c mmc: davinci_mmc: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
dw_mmc-bluefield.c mmc: dw_mmc: Make dw_mci_pltfm_remove() return void 2023-06-12 15:16:18 +02:00
dw_mmc-exynos.c mmc: dw_mmc: exynos: Convert to platform remove callback returning void 2023-08-15 12:45:04 +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: dw_mmc: hi3798cv200: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
dw_mmc-k3.c mmc: dw_mmc: Make dw_mci_pltfm_remove() return void 2023-06-12 15:16:18 +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: dw_mmc: Make dw_mci_pltfm_remove() return void 2023-06-12 15:16:18 +02:00
dw_mmc-pltfm.h mmc: dw_mmc: Make dw_mci_pltfm_remove() return void 2023-06-12 15:16:18 +02:00
dw_mmc-rockchip.c mmc: dw_mmc: rockchip: Convert to platform remove callback returning void 2023-08-15 12:45:06 +02:00
dw_mmc-starfive.c mmc: starfive: Change tuning implementation 2023-09-27 12:13:18 +02:00
dw_mmc.c MMC core: 2022-12-13 13:41:26 -08:00
dw_mmc.h mmc: dw_mmc: Support setting f_min from host drivers 2022-03-07 12:56:38 +01:00
jz4740_mmc.c mmc: jz4740: Use device_get_match_data() 2023-10-10 15:54:57 +02:00
Kconfig mmc: sdhci-npcm: Add NPCM SDHCI driver 2023-10-10 15:54:26 +02:00
litex_mmc.c mmc: litex_mmc: Convert to platform remove callback returning void 2023-08-15 12:45:03 +02:00
Makefile mmc: sdhci-npcm: Add NPCM SDHCI driver 2023-10-10 15:54:26 +02:00
meson-gx-mmc.c mmc: meson-gx: Remove setting of CMD_CFG_ERROR 2023-10-27 11:59:14 +02:00
meson-mx-sdhc-clkc.c mmc: meson-mx-sdhc: Drop unused MESON_SDHC_NUM_BUILTIN_CLKS macro 2021-12-20 11:19:01 +01:00
meson-mx-sdhc-mmc.c mmc: meson-mx-sdhc: Fix initialization frozen issue 2023-12-07 14:08:19 +01: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: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
mmc_hsq.c mmc: hsq: Improve random I/O write performance for 4k buffers 2023-09-27 12:13:18 +02:00
mmc_hsq.h mmc: hsq: Improve random I/O write performance for 4k buffers 2023-09-27 12:13:18 +02:00
mmc_spi.c mmc: mmc_spi: fix error handling in mmc_spi_probe() 2023-02-14 00:09:17 +01:00
mmci.c mmc: mmci: use peripheral flow control for STM32 2023-10-10 13:35:31 +02:00
mmci.h mmc: mmci: use peripheral flow control for STM32 2023-10-10 13:35:31 +02: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: Add support for SW busy-end timeouts 2023-06-22 11:06:37 +02:00
moxart-mmc.c mmc: moxart: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
mtk-sd.c mmc: mtk-sd: Use readl_poll_timeout_atomic in msdc_reset_hw 2023-09-26 16:47:44 +02:00
mvsdio.c mmc: mvsdio: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
mvsdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxcmmc.c mmc: mxcmmc: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
mxs-mmc.c mmc: mxs-mmc: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
of_mmc_spi.c mmc: mmc_spi: parse speed mode options 2022-04-26 14:05:19 +02:00
omap.c mmc: omap: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
omap_hsmmc.c mmc: omap_hsmmc: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
owl-mmc.c mmc: owl: Convert to platform remove callback returning void 2023-08-15 12:45:06 +02:00
pxamci.c mmc: pxamci: Convert to platform remove callback returning void 2023-08-15 12:45:05 +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: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
renesas_sdhi_core.c mmc: renesas_sdhi: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
rtsx_pci_sdmmc.c mmc: rtsx_pci: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
sdhci-acpi.c mmc: sdhci-acpi: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: Use sdhci_pltfm_remove() 2023-08-15 13:35:11 +02:00
sdhci-brcmstb.c mmc: sdhci-brcmstb: Use sdhci_pltfm_remove() 2023-08-15 13:35:16 +02:00
sdhci-cadence.c mmc: sdhci-cadence: Use sdhci_pltfm_remove() 2023-08-15 13:35:20 +02:00
sdhci-cqhci.h mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI 2022-11-07 13:28:47 +01:00
sdhci-dove.c mmc: sdhci-dove: Use sdhci_pltfm_remove() 2023-08-15 13:35:24 +02:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: optimize the manual tuing logic to get the best timing 2023-09-26 15:12:44 +02:00
sdhci-esdhc-mcf.c mmc: sdhci-esdhc-mcf: Convert to platform remove callback returning void 2023-08-15 12:45:06 +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: sdhci-iproc: Use sdhci_pltfm_remove() 2023-08-15 13:35:32 +02:00
sdhci-milbeaut.c mmc: sdhci: milbeaut: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
sdhci-msm.c mmc: sdhci-msm: Convert to platform remove callback returning void 2023-08-15 12:45:06 +02:00
sdhci-npcm.c mmc: sdhci-npcm: Add NPCM SDHCI driver 2023-10-10 15:54:26 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Use sdhci_pltfm_remove() 2023-08-15 13:35:35 +02:00
sdhci-of-aspeed-test.c mmc: sdhci-of-aspeed: test: Use kunit_test_suite() macro 2022-07-11 17:13:32 -06:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: Convert to platform remove 2023-08-15 12:45:05 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: Use sdhci_pltfm_remove() 2023-08-15 13:35:39 +02:00
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: Add runtime PM operations 2023-08-24 12:57:20 +02:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: Use sdhci_pltfm_remove() 2023-08-15 13:35:42 +02:00
sdhci-of-hlwd.c mmc: sdhci-pltfm: Rename sdhci_pltfm_register() 2023-08-15 13:36:02 +02:00
sdhci-of-sparx5.c mmc: sdhci-of-sparx5: Use sdhci_pltfm_remove() 2023-08-15 13:35:48 +02:00
sdhci-omap.c mmc: sdhci-omap: Convert to platform remove callback returning void 2023-08-15 12:45:05 +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: Switch to use acpi_evaluate_dsm_typed() 2023-10-10 15:46:14 +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: Disable LPM during initialization 2023-11-23 18:01:12 +01:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: add Bayhub new chip GG8 support for express card 2023-08-11 12:30:54 +02:00
sdhci-pci.h mmc: sdhci-pci-o2micro: add Bayhub new chip GG8 support for UHS-I 2023-08-11 12:30:54 +02:00
sdhci-pic32.c mmc: sdhci-pic32: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
sdhci-pltfm.c mmc: sdhci-pltfm: Make driver OF independent 2023-10-10 15:46:39 +02:00
sdhci-pltfm.h mmc: sdhci-pltfm: Rename sdhci_pltfm_register() 2023-08-15 13:36:02 +02:00
sdhci-pxav2.c mmc: sdhci-pxav2: Use sdhci_pltfm_remove() 2023-08-15 13:35:52 +02:00
sdhci-pxav3.c mmc: sdhci-pxav3: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
sdhci-s3c.c mmc: sdhci-s3c: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
sdhci-spear.c mmc: sdhci-spear: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
sdhci-sprd.c mmc: sdhci-sprd: Fix eMMC init failure after hw reset 2024-01-03 11:24:03 +01:00
sdhci-st.c mmc: sdhci-st: Use sdhci_pltfm_remove() 2023-08-15 13:35:56 +02:00
sdhci-tegra.c mmc: sdhci-tegra: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
sdhci-xenon-phy.c mmc: sdhci-xenon: switch to device_* API 2020-12-11 10:08:37 +01:00
sdhci-xenon.c mmc: xenon: Convert to platform remove callback returning void 2023-08-15 12:45:05 +02:00
sdhci-xenon.h mmc: sdhci-xenon: switch to device_* API 2020-12-11 10:08:37 +01:00
sdhci.c mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used. 2023-06-12 15:19:47 +02:00
sdhci.h mmc: sdhci: Add VDD2 definition for power control register 2023-06-12 15:20:08 +02:00
sdhci_am654.c mmc: sdhci_am654: fix start loop index for TAP value parsing 2023-11-03 11:47:43 +01:00
sdhci_f_sdh30.c mmc: sdhci_f_sdh30: Use sdhci_pltfm_remove() 2023-08-15 13:35:27 +02:00
sdhci_f_sdh30.h mmc: f-sdh30: Add support for non-removable media 2022-12-07 13:22:36 +01:00
sdricoh_cs.c mmc: sdricoh_cs: remove unused sdricoh_readw function 2023-03-24 16:48:01 +01:00
sh_mmcif.c mmc: sh_mmcif: Convert to platform remove callback returning void 2023-08-15 12:45:04 +02:00
sunplus-mmc.c mmc: sunplus-mmc: Convert to platform remove callback returning void 2023-08-15 12:48:20 +02:00
sunxi-mmc.c mmc: sunxi: Convert to platform remove callback returning void 2023-08-15 12:45:03 +02:00
tifm_sd.c mmc: tifm_sd: Replace kmap_atomic() with kmap_local_page() 2022-12-07 13:22:32 +01:00
tmio_mmc.h mmc: tmio: remove tmio_mmc_k(un)map_atomic helpers 2022-12-07 13:22:36 +01:00
tmio_mmc_core.c mmc: Use of_property_read_bool() for boolean properties 2023-03-23 11:30:20 +01:00
toshsd.c mmc: toshsd: fix return value check of mmc_add_host() 2022-12-07 13:22:34 +01: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 platform remove callback returning void 2023-08-15 12:48:21 +02:00
usdhi6rol0.c mmc: usdhi60rol0: Convert to platform remove callback returning void 2023-08-15 12:45:06 +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: remove unnecessary set_drvdata() function 2023-08-09 15:44:17 +02:00
vub300.c mmc: vub300: fix an error code 2023-11-03 12:04:34 +01:00
wbsd.c mmc: wbsd: Convert to platform remove callback returning void 2023-08-15 12:45:06 +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: wmt-sdmmc: Convert to platform remove callback returning void 2023-08-15 12:45:06 +02:00