kernel_samsung_a53x/drivers/mmc/host
Ziyang Huang b187af6483 mmc: meson-mx-sdhc: Fix initialization frozen issue
commit 8c124d998ea0c9022e247b11ac51f86ec8afa0e1 upstream.

Commit 4bc31edebde5 ("mmc: core: Set HS clock speed before sending
HS CMD13") set HS clock (52MHz) before switching to HS mode. For this
freq, FCLK_DIV5 will be selected and div value is 10 (reg value is 9).
Then we set rx_clk_phase to 11 or 15 which is out of range and make
hardware frozen. After we send command request, no irq will be
interrupted and the mmc driver will keep to wait for request finished,
even durning rebooting.

So let's set it to Phase 90 which should work in most cases. Then let
meson_mx_sdhc_execute_tuning() to find the accurate value for data
transfer.

If this doesn't work, maybe need to define a factor in dts.

Fixes: e4bf1b0970ef ("mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host")
Signed-off-by: Ziyang Huang <hzyitc@outlook.com>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/TYZPR01MB5556A3E71554A2EC08597EA4C9CDA@TYZPR01MB5556.apcprd01.prod.exchangelabs.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-18 12:12:08 +01:00
..
alcor.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
android-goldfish.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
atmel-mci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
au1xmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bcm2835.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium-octeon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium-thunderx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cavium.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cb710-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cb710-mmc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci-core.c mmc: cqhci: Fix task clearing in CQE error recovery 2024-11-18 12:11:16 +01:00
cqhci-crypto.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci-crypto.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cqhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
davinci_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-bluefield.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-exynos.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-exynos.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-hi3798cv200.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-k3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pltfm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-pltfm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-rockchip.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-zx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc-zx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dw_mmc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
jz4740_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-gx-mmc.c mmc: meson-gx: Remove setting of CMD_CFG_ERROR 2024-11-18 11:43:25 +01:00
meson-mx-sdhc-clkc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-mx-sdhc-mmc.c mmc: meson-mx-sdhc: Fix initialization frozen issue 2024-11-18 12:12:08 +01:00
meson-mx-sdhc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
meson-mx-sdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-feature.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-feature.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc-sec-sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_hsq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_hsq.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmc_spi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci_qcom_dml.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mmci_stm32_sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
moxart-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mtk-sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mvsdio.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mvsdio.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxcmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mxs-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
of_mmc_spi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
omap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
omap_hsmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
owl-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxamci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pxamci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi_core.c mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2024-11-18 10:58:28 +01:00
renesas_sdhi_internal_dmac.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
renesas_sdhi_sys_dmac.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rtsx_pci_sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rtsx_usb_sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
s3cmci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
s3cmci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-acpi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-bcm-kona.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-brcmstb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cadence.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cns3xxx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-cqhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-dove.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc-imx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc-mcf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-esdhc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-iproc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-milbeaut.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-msm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-arasan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-aspeed.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-at91.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-dwcmshc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-esdhc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-hlwd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-of-sparx5.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-omap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-arasan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-data.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-dwc-mshc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-gli.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci-o2micro.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pic32.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pltfm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pltfm.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pxav2.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-pxav3.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-s3c.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-sirf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-spear.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-sprd.c mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled 2024-11-18 12:11:17 +01:00
sdhci-st.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-tegra.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-xenon-phy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-xenon.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci-xenon.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci_am654.c mmc: sdhci_am654: fix start loop index for TAP value parsing 2024-11-18 11:43:22 +01:00
sdhci_f_sdh30.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdhci_f_sdh30.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sdricoh_cs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sh_mmcif.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sunxi-mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tifm_sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tmio_mmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tmio_mmc.h mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2024-11-18 10:58:28 +01:00
tmio_mmc_core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
toshsd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
toshsd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
uniphier-sd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
usdhi6rol0.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ushc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
via-sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
vub300.c mmc: vub300: fix an error code 2024-11-18 11:43:22 +01:00
wbsd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wbsd.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wmt-sdmmc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00