1
0
Fork 0
alistair23-linux/drivers/mmc/host
Haibo Chen 6534c897fd mmc: sdhci-esdhc-imx: disable the CMD CRC check for standard tuning
In current code, we add 1ms dealy after each tuning command for standard
tuning method. Adding this 1ms dealy is because USDHC default check the
CMD CRC and DATA line. If detect the CMD CRC, USDHC standard tuning
IC logic do not wait for the tuning data sending out by the card, trigger
the buffer read ready interrupt immediately, and step to next cycle. So
when next time the new tuning command send out by USDHC, card may still
not send out the tuning data of the upper command,then some eMMC cards
may stuck, can't response to any command, block the whole tuning procedure.

If do not check the CMD CRC for tuning, then do not has this issue. USDHC
will wait for the tuning data of each tuning command and check them. If the
tuning data pass the check, it also means the CMD line also okay for tuning.

So this patch disable the CMD CRC check for tuning, save some time for the
whole tuning procedure.

Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
Link: https://lore.kernel.org/r/1590488522-9292-2-git-send-email-haibo.chen@nxp.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 16e40e5b1e)
2020-07-15 19:10:27 +08:00
..
Kconfig mmc: sdhci-esdhc-imx: Add support for S32V234 2019-11-25 15:45:42 +08:00
Makefile mmc: host: sdhci-pci: Add Genesys Logic GL975x support 2019-09-27 20:48:20 +02:00
alcor.c mmc: alcor: Fix a resource leak in the error path for ->probe() 2020-05-20 08:20:21 +02:00
android-goldfish.c MMC core: 2019-07-11 18:11:21 -07:00
atmel-mci.c mmc: atmel-mci: Mark expected switch fall-throughs 2019-09-11 15:58:39 +02:00
au1xmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
bcm2835.c Merge branch 'fixes' into next 2019-09-11 15:59:01 +02: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: Add the missing dma unmap when the dma has finished. 2019-08-06 18:59:14 +02:00
cavium.h mmc: cavium: Add scatter-gather DMA support 2017-04-24 21:42:10 +02:00
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: Avoid false "cqhci: CQE stuck on" by not open-coding timeout loop 2020-05-06 08:15:06 +02:00
cqhci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
davinci_mmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
dw_mmc-bluefield.c mmc: dw_mmc-bluefield: : Fix the license information 2019-01-22 08:46:20 +01:00
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 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: Re-store SDIO IRQs mask at system resume 2019-09-11 16:10:18 +02: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: Drop dependency on arch header 2019-09-11 15:58:39 +02:00
meson-gx-mmc.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
meson-mx-sdio.c mmc: meson-mx-sdio: remove the broken ->card_busy() op 2020-05-06 08:15:07 +02:00
mmc_spi.c mmc: spi: Toggle SPI polarity, do not hardcode it 2020-02-11 04:35:19 -08:00
mmci.c mmc: mmci: Clarify comments and some code for busy detection 2019-09-11 15:58:39 +02:00
mmci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +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_sdmmc: fix DMA API warning overlapping mappings 2020-06-17 16:40:37 +02:00
moxart-mmc.c mmc: moxart: constify mmc_host_ops structures 2017-08-30 14:01:41 +02:00
mtk-sd.c mmc: mediatek: fix CMD_TA to 2 for MT8173 HS200/HS400 mode 2019-12-31 16:45:51 +01:00
mvsdio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mvsdio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mxcmmc.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
mxs-mmc.c mmc: mxs: fix flags passed to dmaengine_prep_slave_sg 2019-10-21 16:16:38 +02:00
of_mmc_spi.c mmc: mmc_spi: Convert to use SPDX identifier 2019-04-15 11:55:54 +02:00
omap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap_hsmmc.c mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid of pandora_wl1251_init_card 2019-12-17 19:56:40 +01:00
pxamci.c mmc: core: Rework wp-gpio handling 2020-02-19 19:53:10 +01: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: update copyright information 2019-04-15 11:55:54 +02:00
renesas_sdhi_core.c mmc: renesas_sdhi: Do not use platform_get_irq() to count interrupts 2019-10-03 11:36:22 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi_internal_dmac: Add MMC_CAP2_MERGE_CAPABLE 2019-09-12 13:14:09 +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-25 08:25:54 +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: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
s3cmci.h MMC core: 2019-07-11 18:11:21 -07:00
sdhci-acpi.c mmc: sdhci-acpi: Add SDHCI_QUIRK2_BROKEN_64_BIT_DMA for AMDI0040 2020-05-20 08:20:07 +02:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: Drop unused includes 2019-02-25 08:40:58 +01:00
sdhci-brcmstb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sdhci-cadence.c mmc: sdhci-cadence: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN for UniPhier 2020-03-25 08:25:54 +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: disable the CMD CRC check for standard tuning 2020-07-15 19:10:27 +08:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround 2020-01-04 19:19:18 +01:00
sdhci-iproc.c mmc: sdhci-iproc: fix spurious interrupts on Multiblock reads with bcm2711 2019-10-09 11:05:50 +02:00
sdhci-msm.c mmc: sdhci-msm: Clear tuning done flag while hs400 tuning 2020-06-17 16:40:37 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add Support for Intel LGM eMMC 2019-09-11 15:58:39 +02:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: Allow max-frequency limitation of SDCLK 2019-09-11 15:58:39 +02:00
sdhci-of-at91.c mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2 2020-03-25 08:25:54 +01:00
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: solve 128MB DMA boundary limitation 2018-10-08 11:40:43 +02:00
sdhci-of-esdhc.c Merge tag 'v5.4.47' into imx_5.4.y 2020-06-19 17:32:49 +08: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: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY 2020-04-01 11:01:28 +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: Fix eMMC driver strength for BYT-based controllers 2020-05-06 08:15:06 +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: Fix can not access GL9750 after reboot from Windows 10 2020-05-20 08:20:21 +02:00
sdhci-pci-o2micro.c Merge branch 'fixes' into next 2019-09-11 15:59:01 +02:00
sdhci-pci.h mmc: sdhci-pci: Add support for Intel JSL 2020-02-01 09:34:50 +00:00
sdhci-pic32.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-pltfm.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-pltfm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-sirf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 4 2019-05-21 11:28:40 +02:00
sdhci-spear.c mmc: sdhci: spear: Use the slot GPIO descriptor 2018-10-08 11:40:43 +02:00
sdhci-sprd.c mmc: sdhci-sprd: clear the UHS-I modes read from registers 2019-08-30 09:17:53 +02:00
sdhci-st.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
sdhci-tegra.c mmc: sdhci-tegra: Fix busy detection by enabling MMC_CAP_NEED_RSP_BUSY 2020-04-01 11:01:29 +02: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-xenon: fix annoying 1.8V regulator warning 2020-05-06 08:15:06 +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-msm: Introduce new ops to dump vendor specific registers 2020-07-10 16:22:38 +08:00
sdhci.h mmc: sdhci-msm: Introduce new ops to dump vendor specific registers 2020-07-10 16:22:38 +08:00
sdhci_am654.c mmc: sdhci_am654: Reset Command and Data line after tuning 2020-01-29 16:45:28 +01:00
sdhci_f_sdh30.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdricoh_cs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
sh_mmcif.c mmc: sh_mmcif: Use platform_get_irq_optional() for optional interrupt 2019-10-03 11:38:37 +02:00
sunxi-mmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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: Fixup runtime PM management during probe 2019-09-13 13:49:04 +02:00
tmio_mmc_core.c mmc: tmio: Further fixup runtime PM management at remove 2020-06-17 16:40:37 +02: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: call devm_request_irq() after tmio_mmc_host_probe() 2020-06-17 16:40:37 +02:00
usdhi6rol0.c mmc: usdhi6rol0: mark expected switch fall-throughs 2019-05-06 12:33:03 +02:00
ushc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
via-sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vub300.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 372 2019-06-05 17:37:10 +02: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