android_kernel_xiaomi_sm8450/drivers/mmc/host
Andy Shevchenko b51578bd86 mmc: mmc_spi: remove custom DMA mapped buffers
commit 84a6be7db9050dd2601c9870f65eab9a665d2d5d upstream.

There is no need to duplicate what SPI core or individual controller
drivers already do, i.e. mapping the buffers for DMA capable transfers.

Note, that the code, besides its redundancy, was buggy: strictly speaking
there is no guarantee, while it's true for those which can use this code
(see below), that the SPI host controller _is_ the device which does DMA.

Also see the Link tags below.

Additional notes. Currently only two SPI host controller drivers may use
premapped (by the user) DMA buffers:

  - drivers/spi/spi-au1550.c

  - drivers/spi/spi-fsl-spi.c

Both of them have DMA mapping support code. I don't expect that SPI host
controller code is worse than what has been done in mmc_spi. Hence I do
not expect any regressions here. Otherwise, I'm pretty much sure these
regressions have to be fixed in the respective drivers, and not here.

That said, remove all related pieces of DMA mapping code from mmc_spi.

Link: https://lore.kernel.org/linux-mmc/c73b9ba9-1699-2aff-e2fd-b4b4f292a3ca@raspberrypi.org/
Link: https://stackoverflow.com/questions/67620728/mmc-spi-issue-not-able-to-setup-mmc-sd-card-in-linux
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20231207221901.3259962-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:41:54 +01:00
..
alcor.c mmc: alcor: fix return value check of mmc_add_host() 2023-01-14 10:15:38 +01: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: atmel-mci: fix race between stop command and start of next command 2023-03-22 13:30:01 +01:00
au1xmmc.c mmc: au1xmmc: Fix an error handling path in au1xmmc_probe() 2022-10-26 13:25:26 +02:00
bcm2835.c mmc: bcm2835: fix deferred probing 2023-08-26 15:26:49 +02:00
cavium-octeon.c mmc: cavium-octeon: Add of_node_put() when breaking out of loop 2022-08-21 15:16:01 +02:00
cavium-thunderx.c mmc: cavium-thunderx: Add of_node_put() when breaking out of loop 2022-08-21 15:16:01 +02: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
cqhci.c mmc: cqhci: Fix task clearing in CQE error recovery 2023-12-08 08:46:15 +01: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_mmc: Handle error for clk_enable 2022-04-08 14:40:11 +02: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: dw_mmc: exynos: fix the finding clock sample value 2021-11-02 19:48:20 +01:00
dw_mmc-exynos.h
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
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
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
dw_mmc.c mmc: dw_mmc: Dont wait for DRTO on Write RSP error 2021-11-18 14:03:37 +01:00
dw_mmc.h
jz4740_mmc.c mmc: jz4740: Work around bug on JZ4760(B) 2023-02-22 12:55:55 +01:00
Kconfig mmc: sdhci_omap: Fix TI SoC dependencies 2024-01-25 14:37:50 -08:00
Makefile mmc: sdhci-of-sparx5: Add Sparx5 SoC eMMC driver 2020-09-07 09:11:30 +02:00
meson-gx-mmc.c mmc: meson-gx: Remove setting of CMD_CFG_ERROR 2023-11-28 16:54:58 +00: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: meson-mx-sdhc: Fix initialization frozen issue 2024-01-15 18:48:07 +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: add IRQ check 2022-01-27 10:53:58 +01:00
mmc_hsq.c mmc: hsq: Fix data stomping during mmc recovery 2022-10-05 10:38:39 +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 mmc: mmc_spi: remove custom DMA mapped buffers 2024-02-23 08:41:54 +01:00
mmci_qcom_dml.c
mmci_stm32_sdmmc.c mmc: mmci: stm32: correctly check all elements of sg list 2022-04-13 21:01:07 +02:00
mmci.c mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS 2023-07-27 08:44:11 +02:00
mmci.h
moxart-mmc.c mmc: moxart: read scr register without changing byte order 2023-08-16 18:20:59 +02:00
mtk-sd.c mmc: mtk-sd: fix deferred probing 2023-06-28 10:28:11 +02:00
mvsdio.c mmc: mvsdio: fix deferred probing 2023-06-28 10:28:11 +02:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: fix return value check of mmc_add_host() 2023-01-14 10:15:39 +01:00
mxs-mmc.c mmc: mxs-mmc: disable regulator on error and in the remove function 2021-11-18 14:04:08 +01:00
of_mmc_spi.c
omap_hsmmc.c mmc: omap_hsmmc: fix deferred probing 2023-06-28 10:28:11 +02:00
omap.c mmc: omap: fix deferred probing 2023-06-28 10:28:11 +02:00
owl-mmc.c mmc: owl: fix deferred probing 2023-06-28 10:28:12 +02:00
pxamci.c mmc: pxamci: fix return value check of mmc_add_host() 2023-01-14 10:15:39 +01:00
pxamci.h
renesas_sdhi_core.c mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2023-11-08 17:30:41 +01:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes 2021-03-04 11:38:02 +01: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
renesas_sdhi.h mmc: renesas_sdhi: drop local flag for tuning 2020-09-25 13:24:02 +02:00
rtsx_pci_sdmmc.c mmc: rtsx: add 74 Clocks in power on flow 2022-05-12 12:25:46 +02:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host() 2023-01-14 10:15:39 +01:00
s3cmci.c ARM: SoC platform updates 2020-10-24 10:33:08 -07:00
s3cmci.h
sdhci_am654.c mmc: sdhci_am654: fix start loop index for TAP value parsing 2023-11-28 16:54:57 +00:00
sdhci_f_sdh30.c mmc: f-sdh30: fix order of function calls in sdhci_f_sdh30_remove 2023-08-26 15:26:56 +02:00
sdhci_f_sdh30.h
sdhci-acpi.c mmc: sdhci-acpi: fix deferred probing 2023-06-28 10:28:12 +02: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: sdhci-brcmstb: Fix SDHCI_RESET_ALL for CQHCI 2022-12-02 17:40:03 +01: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-cqhci.h mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI 2022-11-16 09:57:15 +01: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-esdhc-imx: improve ESDHC_FLAG_ERR010450 2023-09-23 11:01:06 +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 Revert "mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711" 2021-09-03 10:09:25 +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: Disable broken 64-bit DMA on MSM8916 2023-06-28 10:28:08 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI 2022-11-16 09:57:15 +01: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: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R 2022-08-21 15:15:58 +02:00
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN 2021-03-11 14:17:28 +01:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data 2023-05-17 11:47:42 +02: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: sdhci-omap: Fix context restore 2021-11-18 14:04:07 +01:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put() 2022-11-25 17:45:53 +01:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: sdhci-pci-gli: increase 1.8V regulator wait 2021-05-26 12:06:53 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce timeout 2022-11-25 17:45:53 +01:00
sdhci-pci.h mmc: sdhci-pci: Add PCI ID for Intel ADL 2022-01-16 09:14:23 +01:00
sdhci-pic32.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.9 2020-09-07 14:24:21 +02:00
sdhci-pltfm.c
sdhci-pltfm.h mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb 2021-02-10 09:29:18 +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-sprd: Fix eMMC init failure after hw reset 2024-01-15 18:48:07 +01: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: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI 2022-11-16 09:57:15 +01:00
sdhci-xenon-phy.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
sdhci-xenon.c Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning" 2022-04-13 21:01:07 +02:00
sdhci-xenon.h
sdhci.c mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used. 2023-07-27 08:44:12 +02:00
sdhci.h mmc: sdhci: Fix voltage switch delay 2022-12-08 11:23:58 +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: sh_mmcif: fix deferred probing 2023-06-28 10:28:12 +02:00
sunxi-mmc.c mmc: sunxi: fix deferred probing 2023-08-26 15:26:49 +02:00
tifm_sd.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
tmio_mmc_core.c mmc: tmio: support custom irq masks 2023-10-10 21:53:29 +02: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: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2023-11-08 17:30:41 +01:00
toshsd.c mmc: toshsd: fix return value check of mmc_add_host() 2023-01-14 10:15:39 +01:00
toshsd.h
uniphier-sd.c mmc: uniphier-sd: Fix a resource leak in the remove function 2021-05-11 14:47:14 +02:00
usdhi6rol0.c mmc: usdhi60rol0: fix deferred probing 2023-06-28 10:28:12 +02:00
ushc.c
via-sdmmc.c mmc: via-sdmmc: fix return value check of mmc_add_host() 2023-01-14 10:15:40 +01:00
vub300.c mmc: vub300: fix an error code 2023-11-28 16:54:57 +00:00
wbsd.c mmc: wbsd: fix double mmc_free_host() in wbsd_init() 2023-08-26 15:26:55 +02:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: fix return value check of mmc_add_host() 2023-01-14 10:15:39 +01:00