linux_dsm_epyc7002/drivers/mmc/host
Eugeniu Rosca c91843463e mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests
Isolated initially to renesas_sdhi_internal_dmac [1], Ulf suggested
adding MMC_CAP_ERASE to the TMIO mmc core:

On Fri, Nov 15, 2019 at 10:27:25AM +0100, Ulf Hansson wrote:
 -- snip --
 This test and due to the discussions with Wolfram and you in this
 thread, I would actually suggest that you enable MMC_CAP_ERASE for all
 tmio variants, rather than just for this particular one.

 In other words, set the cap in tmio_mmc_host_probe() should be fine,
 as it seems none of the tmio variants supports HW busy detection at
 this point.
 -- snip --

Testing on R-Car H3ULCB-KF doesn't reveal any issues (v5.4-rc7):

root@rcar-gen3:~# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0 59.2G  0 disk  <--- eMMC
mmcblk0boot0 179:8    0    4M  1 disk
mmcblk0boot1 179:16   0    4M  1 disk
mmcblk1      179:24   0   30G  0 disk  <--- SD card

root@rcar-gen3:~# time blkdiscard /dev/mmcblk0
real    0m8.659s
user    0m0.001s
sys     0m1.920s

root@rcar-gen3:~# time blkdiscard /dev/mmcblk1
real    0m1.176s
user    0m0.001s
sys     0m0.124s

[1] https://lore.kernel.org/linux-renesas-soc/20191112134808.23546-1-erosca@de.adit-jv.com/

Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Originally-by: Harish Jenny K N <harish_kandiga@mentor.com>
Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2019-11-18 10:04:42 +01:00
..
alcor.c mmc: alcor: remove a redundant greater or equal to zero comparison 2019-07-10 13:17:30 +02:00
android-goldfish.c MMC core: 2019-07-11 18:11:21 -07:00
atmel-mci.c mmc: atmel-mci: Use dma_request_chan() directly for channel request 2019-11-14 16:28:56 +01:00
au1xmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
bcm2835.c mmc: bcm2835: Use devm_platform_ioremap_resource wrapper 2019-11-13 16:10:16 +01:00
cavium-octeon.c mmc: cavium-octeon: Use devm_platform_ioremap_resource() 2019-11-13 16:10:16 +01:00
cavium-thunderx.c
cavium.c mmc: cavium: Add the missing dma unmap when the dma has finished. 2019-08-06 18:59:14 +02:00
cavium.h
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: Commit descriptors before setting the doorbell 2019-10-21 13:38:23 +02:00
cqhci.h
davinci_mmc.c
dw_mmc-bluefield.c
dw_mmc-exynos.c
dw_mmc-exynos.h
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
dw_mmc-pci.c
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c
dw_mmc-zx.c
dw_mmc-zx.h
dw_mmc.c mmc: dw_mmc: fix indentation issue 2019-11-13 16:10:16 +01:00
dw_mmc.h
jz4740_mmc.c mmc: jz4740: Add support for Low Power Mode (LPM) 2019-11-13 16:10:16 +01:00
Kconfig mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01:00
Makefile mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01: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: Fix misuse of GENMASK macro 2019-07-22 15:09:23 +02:00
mmc_spi.c mmc: mmc_spi: Use proper debounce time for CD GPIO 2019-11-14 16:28:56 +01:00
mmci_qcom_dml.c
mmci_stm32_sdmmc.c mmc: mmci: stm32: make sdmmc_idma_validate_data static 2019-11-13 16:10:16 +01:00
mmci.c mmc: mmci: sdmmc: add busy_complete callback 2019-11-13 16:10:16 +01:00
mmci.h mmc: mmci: sdmmc: add busy_complete callback 2019-11-13 16:10:16 +01:00
moxart-mmc.c mmc: moxart: Use dma_request_chan() directly for channel request 2019-11-14 16:28:56 +01:00
mtk-sd.c mmc: mtk-sd: Re-store SDIO IRQs mask at system resume 2019-09-11 16:10:18 +02: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
omap_hsmmc.c mmc: host: omap-hsmmc: remove init_card pdata callback from pdata 2019-11-15 09:59:19 +01:00
omap.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
owl-mmc.c mmc: Add Actions Semi Owl SoCs SD/MMC driver 2019-11-13 16:10:16 +01:00
pxamci.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pxamci.h
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 r8a774b1 support 2019-11-13 16:10:16 +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
renesas_sdhi.h
rtsx_pci_sdmmc.c
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_am654.c mmc: sdhci_am654: Make some symbols static 2019-07-10 13:17:30 +02:00
sdhci_f_sdh30.c mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdhci_f_sdh30.h mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdhci-acpi.c mmc: sdhci-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +02:00
sdhci-bcm-kona.c
sdhci-brcmstb.c
sdhci-cadence.c mmc: sdhci-cadence: override spec version 2019-09-11 15:58:39 +02:00
sdhci-cns3xxx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sdhci-dove.c
sdhci-esdhc-imx.c mmc: sdhci: Drop redundant code for SDIO IRQs 2019-09-11 16:10:19 +02:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround 2019-11-13 16:10:16 +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-milbeaut.c mmc: sdhci-milbeaut: add Milbeaut SD controller driver 2019-11-13 16:10:16 +01:00
sdhci-msm.c mmc: Remove dev_err() usage after platform_get_irq() 2019-09-11 15:58:39 +02:00
sdhci-of-arasan.c mmc: sdhci-of-arasan: Add Support for Intel LGM SDXC 2019-11-13 16:10:16 +01: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 Merge branch 'fixes' into next 2019-11-14 16:29:31 +01:00
sdhci-of-dwcmshc.c
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround 2019-11-13 16:10:16 +01:00
sdhci-of-hlwd.c
sdhci-omap.c mmc: sdhci-omap: Fix Tuning procedure for temperatures < -20C 2019-10-21 13:37:49 +02:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci-pci: Add support for Intel JSL 2019-11-13 16:10:16 +01:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: host: sdhci-pci: Add Genesys Logic GL975x support 2019-09-27 20:48:20 +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 2019-11-13 16:10:16 +01:00
sdhci-pic32.c
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
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
sdhci-spear.c
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
sdhci-tegra.c mmc: tegra: Implement ->set_dma_mask() 2019-09-27 20:30:13 +02:00
sdhci-xenon-phy.c
sdhci-xenon.c mmc: sdhci-sprd: Fix the incorrect soft reset operation when runtime resuming 2019-08-06 18:59:14 +02:00
sdhci-xenon.h
sdhci.c mmc: sdhci: Check card status after reset 2019-11-13 16:10:16 +01:00
sdhci.h mmc: sdhci: Let drivers define their DMA mask 2019-09-27 20:30:13 +02:00
sdricoh_cs.c
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
tifm_sd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tmio_mmc_core.c mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests 2019-11-18 10:04:42 +01: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
toshsd.c
toshsd.h
uniphier-sd.c Merge branch 'fixes' into next 2019-09-13 13:57:37 +02:00
usdhi6rol0.c
ushc.c
via-sdmmc.c
vub300.c mmc: vub300: Drop redundant host ops ->init_card() 2019-11-13 16:10:16 +01:00
wbsd.c
wbsd.h
wmt-sdmmc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00