linux/drivers/mmc/host
Sowjanya Komatineni c6e7ab9092 mmc: tegra: add Tegra186 WAR for CQE
Tegra186 CQHCI host has a known bug where CQHCI controller selects
DATA_PRESENT_SELECT bit to 1 for DCMDs with R1B response type and
since DCMD does not trigger any data transfer, DCMD task complete
happens leaving the DATA FSM of host controller in wait state for
the data.

This effects the data transfer tasks issued after the DCMDs with
R1b response type resulting in timeout.

SW WAR is to set CMD_TIMING to 1 in DCMD task descriptor. This bug
and SW WAR is applicable only for Tegra186 and not for Tegra194.

This patch implements this WAR thru NVQUIRK_CQHCI_DCMD_R1B_CMD_TIMING
for Tegra186 and also implements update_dcmd_desc of cqhci_host_ops
interface to set CMD_TIMING bit depending on the NVQUIRK.

Tested-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Ritesh Harjani <riteshh@codeaurora.org>
Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2019-04-15 11:55:54 +02:00
..
alcor.c mmc: alcor: don't write data before command has completed 2019-03-28 13:42:15 +01:00
android-goldfish.c mmc: android-goldfish: fix bad logic of sg_copy_{from,to}_buffer conversion 2018-08-21 16:06:17 +02:00
atmel-mci.c mmc: atmel-mci: enable 8 bits buswidth support 2019-02-25 08:40:58 +01:00
au1xmmc.c mmc: au1xmmc: handle highmem pages 2018-05-29 12:24:26 +02:00
bcm2835.c mmc: bcm2835: Deduplicate reset of driver data on remove 2019-02-25 08:40:58 +01:00
cavium-octeon.c
cavium-thunderx.c
cavium.c
cavium.h
cb710-mmc.c mmc: cb710: fix indentation issue in if block 2019-02-25 08:40:58 +01:00
cb710-mmc.h
cqhci.c mmc: cqhci: allow hosts to update dcmd cmd desc 2019-04-15 11:55:54 +02:00
cqhci.h mmc: cqhci: allow hosts to update dcmd cmd desc 2019-04-15 11:55:54 +02:00
davinci_mmc.c mmc: davinci: remove extraneous __init annotation 2019-03-18 11:02:30 +01: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 mmc: dw_mmc-exynos: Add tuning for sdr and ddr timing for USH-I mode 2018-10-08 12:02:22 +02:00
dw_mmc-exynos.h
dw_mmc-hi3798cv200.c mmc: dw_mmc: hi3798cv200: add MMC_CAP_CMD23 cap 2018-10-08 11:40:43 +02:00
dw_mmc-k3.c mmc: dw_mmc: Fix out-of-bounds access for slot's caps 2018-02-27 15:12:25 +01:00
dw_mmc-pci.c mmc: dw_mmc: remove the deprecated "num-slots" 2018-03-15 09:27:11 +01:00
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc: fix misleading comment in dw_mci_rk3288_set_ios 2018-05-02 15:08:38 +02:00
dw_mmc-zx.c mmc: dw_mmc: Fix out-of-bounds access for slot's caps 2018-02-27 15:12:25 +01:00
dw_mmc-zx.h
dw_mmc.c mmc: dw_mmc: fix card threshold control configuration 2018-07-03 10:57:16 +02:00
dw_mmc.h mmc: dw_mmc: add support for hi3798cv200 specific extensions of dw-mshc 2018-03-15 14:43:22 +01:00
jz4740_mmc.c mmc: jz4740: Remove platform data and use standard APIs 2019-02-25 08:40:58 +01:00
Kconfig mmc: host: Pedantic cleanups to Kconfig 2019-04-15 11:55:54 +02:00
Makefile mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver 2018-12-17 08:26:24 +01:00
meson-gx-mmc.c mmc: meson-gx: fix interrupt name 2019-02-13 08:41:15 +01:00
meson-mx-sdio.c mmc: meson-mx-sdio: check devm_kasprintf for failure 2018-12-17 08:26:24 +01:00
mmc_spi.c mmc_spi: add a status check for spi_sync_locked 2019-04-15 11:55:54 +02:00
mmci_qcom_dml.c mmc: mmci: Re-work code starting DMA for the qcom variant 2019-04-15 11:55:54 +02:00
mmci_stm32_sdmmc.c mmc: mmci: add stm32 sdmmc variant 2018-10-09 09:16:53 +02:00
mmci.c mmc: mmci: Make mmci_variant_init() static 2019-04-15 11:55:54 +02:00
mmci.h mmc: mmci: Share sdmmc_variant_init() via the common header file 2019-04-15 11:55:54 +02:00
moxart-mmc.c
mtk-sd.c mmc: mtk-sd: add support for MT8516 2019-04-15 11:55:54 +02:00
mvsdio.c mmc: mvsdio: Enable MMC_CAP_ERASE 2018-05-31 15:02:16 +02:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages" 2019-03-21 11:00:46 +01:00
mxs-mmc.c mmc: mxs-mmc: Enable MMC_CAP_ERASE 2019-04-15 11:55:54 +02:00
of_mmc_spi.c mmc: of_mmc_spi: Convert to mmc_of_parse_voltage() 2019-02-25 15:20:58 +01:00
omap_hsmmc.c Merge branch 'fixes' into next 2018-12-17 09:00:52 +01:00
omap.c mmc: omap: fix the maximum timeout setting 2019-02-25 08:40:58 +01:00
pxamci.c mmc: pxamci: fix enum type confusion 2019-03-18 11:00:41 +01:00
pxamci.h
renesas_sdhi_core.c mmc: renesas_sdhi: set CBSY flag before probing TMIO host 2019-04-15 11:55:54 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: prevent overflow for max_req_size 2019-04-15 11:55:54 +02:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi: prevent overflow for max_req_size 2019-04-15 11:55:54 +02:00
renesas_sdhi.h mmc: renesas_sdhi: update copyright information 2019-04-15 11:55:54 +02:00
rtsx_pci_sdmmc.c misc: rtsx: Move Realtek Card Reader Driver to misc 2017-11-29 10:16:44 +00:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: Re-work card detection/removal support 2018-12-17 08:26:24 +01:00
s3cmci.c mmc: slot-gpio: Remove override_active_level on WP 2019-02-25 08:40:58 +01:00
s3cmci.h
sdhci_am654.c mmc: sdhci_am654: Make symbol 'sdhci_am654_ops' static 2019-02-25 08:40:58 +01: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: Disable LED control for Intel BYT-based controllers 2018-12-17 08:26:24 +01:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: Drop unused includes 2019-02-25 08:40:58 +01:00
sdhci-brcmstb.c mmc: sdhci-brcmstb: handle mmc_of_parse() errors during probe 2019-02-25 08:40:58 +01:00
sdhci-cadence.c mmc: sdhci-cadence: include <linux/bits.h> instead of <linux/bitops.h> 2018-12-17 08:26:24 +01:00
sdhci-cns3xxx.c
sdhci-dove.c
sdhci-esdhc-imx.c Merge branch 'fixes' into next 2019-02-28 12:19:51 +01:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: workaround for unreliable pulse width detection 2018-12-17 08:26:24 +01:00
sdhci-iproc.c mmc: sdhci-iproc: handle mmc_of_parse() errors during probe 2019-01-14 14:14:27 +01:00
sdhci-msm.c mmc: sdhci-msm: avoid unused function warning 2018-12-17 08:26:24 +01:00
sdhci-of-arasan.c mmc: sdhci_am654: Add Initial Support for AM654 SDHCI driver 2018-12-17 08:26:24 +01:00
sdhci-of-at91.c
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 mmc: sdhci-of-esdhc: add quirk to ignore command inhibit for data 2019-04-15 11:55:54 +02:00
sdhci-of-hlwd.c
sdhci-omap.c mmc: sdhci-omap: Don't finish_mrq() on a command error during tuning 2019-04-11 12:40:32 +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: Moving sdhci_o2 into sdhci-pci-o2micro.c 2019-02-25 08:40:58 +01:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c mmc: sdhci-pci-dwc-mshc: synopsys dwc mshc support 2018-07-16 11:21:45 +02:00
sdhci-pci-o2micro.c mmc: sdhci: Remove unneeded quirk2 flag of O2 SD host controller 2019-02-25 08:40:58 +01:00
sdhci-pci.h mmc: sdhci: Moving sdhci_o2 into sdhci-pci-o2micro.c 2019-02-25 08:40:58 +01: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: sdhci-pltfm: Convert DT properties to generic device properties 2018-10-08 11:40:43 +02:00
sdhci-pltfm.h mmc: sdhci-pltfm: Convert DT properties to generic device properties 2018-10-08 11:40:43 +02:00
sdhci-pxav2.c mmc: sdhci-pxav2: Drop unused include 2019-02-25 08:40:58 +01:00
sdhci-pxav3.c mmc: sdhci: pxav3: Delete GPIO handling 2018-10-08 11:40:43 +02:00
sdhci-s3c.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-sirf.c mmc: sdhci: sirf: Use the slot GPIO descriptor 2018-10-08 11:40:43 +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: Add Spreadtrum's initial host controller 2018-10-08 11:40:43 +02:00
sdhci-st.c mmc: sdhci-*: Don't emit error msg if sdhci_add_host() fails 2018-05-29 12:24:26 +02:00
sdhci-tegra.c mmc: tegra: add Tegra186 WAR for CQE 2019-04-15 11:55:54 +02:00
sdhci-xenon-phy.c mmc: sdhci-xenon: Fixup already marked switch fall-through 2019-02-25 08:40:58 +01:00
sdhci-xenon.c mmc: sdhci-xenon: Fix timeout checks 2018-12-17 08:26:24 +01:00
sdhci-xenon.h
sdhci.c mmc: sdhci: allow host to specify maximum tuning loops 2019-04-15 11:55:54 +02:00
sdhci.h mmc: sdhci: allow host to specify maximum tuning loops 2019-04-15 11:55:54 +02:00
sdricoh_cs.c
sh_mmcif.c mmc: use SPDX identifier for Renesas drivers 2018-10-08 11:40:43 +02:00
sunxi-mmc.c mmc: sunxi-mmc: Drop unused includes 2019-02-25 08:40:58 +01:00
tifm_sd.c mmc: tifm_sd: Mark expected switch fall-through 2018-10-08 11:40:43 +02:00
tmio_mmc_core.c mmc: tmio: introduce macro for max block size 2019-04-15 11:55:54 +02:00
tmio_mmc.c mmc: tmio: remove TMIO_MMC_HAVE_HIGH_REG flag 2018-10-15 14:39:45 +02:00
tmio_mmc.h mmc: tmio: introduce macro for max block size 2019-04-15 11:55:54 +02:00
toshsd.c
toshsd.h
uniphier-sd.c mmc: uniphier-sd: avoid using broken DMA RX channel 2018-10-15 14:53:21 +02:00
usdhi6rol0.c mmc: use SPDX identifier for Renesas drivers 2018-10-08 11:40:43 +02:00
ushc.c mmc: ushc: handle highmem pages 2018-05-21 15:49:20 +02:00
via-sdmmc.c
vub300.c mmc: vub300: Use common code in __download_offload_pseudocode() 2017-11-02 15:20:29 +01:00
wbsd.c mmc: wbsd: handle highmem pages 2018-05-21 15:49:21 +02:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Drop unused include 2019-02-25 08:40:58 +01:00