linux-stable/drivers/mmc/host
Eric Biggers 86c639ce08 mmc: core: Store pointer to bio_crypt_ctx in mmc_request
Make 'struct mmc_request' contain a pointer to the request's
'struct bio_crypt_ctx' directly, instead of extracting a 32-bit DUN from
it which is a cqhci-crypto specific detail.

This keeps the cqhci crypto specific details in the cqhci module, and it
makes mmc_core and mmc_block ready for MMC crypto hardware that accepts
the DUN and/or key in a way that is more flexible than that which will
be specified by the eMMC v5.2 standard.  Exynos SoCs are an example of
such hardware, as their inline encryption hardware takes keys directly
(it has no concept of keyslots) and supports 128-bit DUNs.

Note that the 32-bit DUN length specified by the standard is very
restrictive, so it is likely that more hardware will support longer DUNs
despite it not following the standard.  Thus, limiting the scope of the
32-bit DUN assumption to the place that actually needs it is warranted.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20210721154738.3966463-1-ebiggers@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2021-08-24 10:15:32 +02:00
..
alcor.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v5.4 2020-09-07 14:24:21 +02:00
atmel-mci.c mmc: atmel-mci: Use new tasklet API 2021-02-08 13:00:31 +01:00
au1xmmc.c mmc: au1xmmc: Use new tasklet API 2021-02-08 13:00:31 +01:00
bcm2835.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
cavium-octeon.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14 2020-09-07 14:24:21 +02:00
cavium-thunderx.c
cavium.c mmc: cavium: Use '"%s...", __func__' to print function name 2021-03-30 11:42:06 +02:00
cavium.h
cb710-mmc.c mmc: cb710: Use new tasklet API 2021-02-15 10:43:23 +01:00
cb710-mmc.h
cqhci-core.c mmc: cqhci: introduce get_trans_desc_offset() 2021-06-14 13:57:40 +02:00
cqhci-crypto.c mmc: cqhci: add cqhci_host_ops::program_key 2021-02-01 12:02:33 +01:00
cqhci-crypto.h mmc: core: Store pointer to bio_crypt_ctx in mmc_request 2021-08-24 10:15:32 +02:00
cqhci.h mmc: cqhci: add cqhci_host_ops::program_key 2021-02-01 12:02:33 +01:00
davinci_mmc.c mmc: davinci: remove unneeded semicolon 2020-11-16 11:59:28 +01: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: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02: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: dw_mmc-k3: use the correct HiSilicon copyright 2021-03-31 14:47:53 +02:00
dw_mmc-pci.c
dw_mmc-pltfm.c mmc: dw_mmc-pltfm: Remove unused <linux/clk.h> 2021-06-14 13:57:42 +02:00
dw_mmc-pltfm.h
dw_mmc-rockchip.c mmc: dw_mmc-rockchip: Just set default sample value for legacy mode 2021-04-16 15:10:08 +02:00
dw_mmc.c mmc: dw_mmc: Add data CRC error injection 2021-08-24 10:15:31 +02:00
dw_mmc.h mmc: dw_mmc: Add data CRC error injection 2021-08-24 10:15:31 +02:00
jz4740_mmc.c mmc: jz4740: Fix fall-through warning for Clang 2021-07-13 13:59:22 -05:00
Kconfig This round has a diffstat dominated by Qualcomm clk drivers. Honestly though 2021-07-01 13:26:16 -07:00
Makefile mmc: mmc_spi: Make of_mmc_spi.c resource provider agnostic 2021-04-23 09:29:49 +02:00
meson-gx-mmc.c mmc: meson-gx: use memcpy_to/fromio for dram-access-quirk 2021-06-14 14:02:33 +02: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: Set PROBE_PREFER_ASYNCHRONOUS for drivers that are newer than 5.4 2020-09-07 14:24:21 +02: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: replace spin_lock_irqsave by spin_lock in hard IRQ 2020-11-16 11:59:29 +01:00
mmc_hsq.c mmc: host: Introduce the request_atomic() for the host 2020-05-28 11:20:59 +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: Simplify busy loop in mmc_spi_skip() 2021-08-24 10:15:31 +02:00
mmci.c mmc: mmci: De-assert reset on probe 2021-08-24 10:15:30 +02:00
mmci.h
mmci_qcom_dml.c
mmci_stm32_sdmmc.c mmc: mmci: stm32: Check when the voltage switch procedure should be done 2021-08-04 12:46:02 +02:00
moxart-mmc.c mmc: moxart: Remove unused variable 'dma_time' and 'pio_time' 2021-04-12 08:54:06 +02:00
mtk-sd.c mmc: mediatek: remove useless data parameter from msdc_data_xfer_next() 2021-06-14 13:57:40 +02:00
mvsdio.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
mvsdio.h
mxcmmc.c mmc: mxc: Convert the driver to DT-only 2020-11-24 15:18:19 +01:00
mxs-mmc.c mmc: mxs-mmc: Fix a resource leak in an error handling path in 'mxs_mmc_probe()' 2021-02-01 11:54:41 +01:00
of_mmc_spi.c mmc: mmc_spi: Imply container_of() to be no-op 2021-06-14 13:57:42 +02:00
omap.c mmc: omap: Use new tasklet API 2021-02-08 13:00:31 +01:00
omap_hsmmc.c mmc: omap_hsmmc: Simplify bool comparison and conversion 2021-02-01 11:54:47 +01:00
owl-mmc.c mmc: owl-mmc: Remove unnecessary error log 2021-04-12 13:52:47 +02:00
pxamci.c mmc: pxamci: Fix error return code in pxamci_probe 2020-11-24 12:35:34 +01:00
pxamci.h
renesas_sdhi.h mmc: renesas_sdhi: do hard reset if possible 2021-03-30 11:42:05 +02:00
renesas_sdhi_core.c mmc: Improve function name when aborting a tuning cmd 2021-06-14 13:57:44 +02:00
renesas_sdhi_internal_dmac.c mmc: renesas_sdhi: enable WAIT_WHILE_BUSY 2021-04-12 13:52:47 +02:00
renesas_sdhi_sys_dmac.c mmc: renesas_sdhi_sys_dmac: use proper DMAENGINE API for termination 2021-08-24 10:15:30 +02:00
rtsx_pci_sdmmc.c mmc: rtsx: add delay before power on 2021-02-01 11:54:45 +01:00
rtsx_usb_sdmmc.c mmc: rtsx_usb_sdmmc: simplify the return expression of sd_change_phase() 2020-09-25 13:24:02 +02:00
s3cmci.c mmc: s3cmci: move to use request_irq by IRQF_NO_AUTOEN flag 2021-06-14 13:57:34 +02:00
s3cmci.h
sdhci-acpi.c mmc: sdhci-acpi: Disable write protect detection on Toshiba Encore 2 WT8-B 2021-06-14 13:57:35 +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: Remove CQE quirk 2021-03-30 12:42:44 +02: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-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: Remove unneeded mmc-esdhc-imx.h header 2021-08-24 10:15:32 +02:00
sdhci-esdhc-mcf.c mmc: sdhci: replace mmc->parent with mmc_dev() for consistency 2021-03-30 11:42:07 +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 mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711 2021-08-16 12:12:05 +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: Update the software timeout value for sdhc 2021-08-04 13:17:21 +02:00
sdhci-of-arasan.c mmc: arasan: Fix the issue in reading tap values from DT 2021-08-24 10:15:29 +02:00
sdhci-of-aspeed-test.c mmc: sdhci-of-aspeed: Remove some unnecessary casts from KUnit tests 2021-06-23 16:39:08 -06:00
sdhci-of-aspeed.c mmc: sdhci-of-aspeed: Turn down a phase correction warning 2021-06-14 13:57:44 +02:00
sdhci-of-at91.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci-of-dwcmshc.c mmc: sdhci-of-dwcmshc: set MMC_CAP_WAIT_WHILE_BUSY 2021-03-30 11:42:07 +02:00
sdhci-of-esdhc.c mmc: core: Convert mmc_of_parse_voltage() to use device property API 2021-04-23 09:29:49 +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: Use pm_runtime_resume_and_get() to replace open coding 2021-06-14 13:57:41 +02:00
sdhci-pci-arasan.c
sdhci-pci-core.c mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers 2021-03-31 14:49:32 +02:00
sdhci-pci-data.c
sdhci-pci-dwc-mshc.c
sdhci-pci-gli.c mmc: sdhci-pci-gli: Fine tune GL9763E L1 entry delay 2021-06-14 13:57:38 +02:00
sdhci-pci-o2micro.c mmc: sdhci-pci-o2micro: Add missing checks in sdhci_pci_o2_probe 2021-03-30 11:42:00 +02:00
sdhci-pci.h mmc: sdhci-pci: Add PCI IDs for Intel LKF 2021-03-30 11:42:07 +02:00
sdhci-pic32.c mmc: sdhci-pic32: Make pic32_sdhci_probe_platform() void 2020-11-16 11:59:30 +01:00
sdhci-pltfm.c
sdhci-pltfm.h mmc: sdhci-pltfm: Fix linking err for sdhci-brcmstb 2021-02-01 11:13:09 +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: constify uses of driver/match data 2021-04-15 14:00:15 +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: use sdhci_sprd_writew 2021-06-14 13:57:43 +02:00
sdhci-st.c mmc: sdhci-st: Remove unnecessary error log 2021-04-12 13:52:48 +02:00
sdhci-tegra.c mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit 2021-04-12 13:52:29 +02:00
sdhci-xenon-phy.c mmc: sdhci-xenon: switch to device_* API 2020-12-11 10:08:37 +01:00
sdhci-xenon.c mmc: xenon: add AP807 compatible string 2021-02-01 11:54:45 +01:00
sdhci-xenon.h mmc: sdhci-xenon: switch to device_* API 2020-12-11 10:08:37 +01:00
sdhci.c mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode 2021-07-02 14:59:51 +02:00
sdhci.h mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode 2021-07-02 14:59:51 +02:00
sdhci_am654.c mmc: sdhci_am654: Use pm_runtime_resume_and_get() to replace open coding 2021-06-14 13:57:41 +02:00
sdhci_f_sdh30.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00
sdhci_f_sdh30.h
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: use proper DMAENGINE API for termination 2021-08-24 10:15:30 +02:00
sunxi-mmc.c mmc: sunxi-mmc: Ensure host is suspended during system sleep 2021-02-01 11:54:45 +01:00
tifm_sd.c mmc: tifm_sd: Use new tasklet API 2021-02-08 13:00:31 +01:00
tmio_mmc.c mmc: tmio: do not print real IOMEM pointer 2020-11-17 12:46:39 +01:00
tmio_mmc.h mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL 2021-03-30 11:42:01 +02:00
tmio_mmc_core.c mmc: tmio: always restore irq register 2021-04-15 13:59:02 +02:00
toshsd.c
toshsd.h
uniphier-sd.c mmc: uniphier-sd: Fix a resource leak in the remove function 2021-03-30 11:41:59 +02:00
usdhi6rol0.c mmc: usdhi6rol0: use proper DMAENGINE API for termination 2021-08-24 10:15:30 +02:00
ushc.c
via-sdmmc.c mmc: via-sdmmc: add a check against NULL pointer dereference 2021-06-14 13:57:43 +02:00
vub300.c mmc: vub3000: fix control-request direction 2021-06-14 13:57:41 +02:00
wbsd.c mmc: wbsd: Use new tasklet API 2021-02-08 13:00:31 +01:00
wbsd.h
wmt-sdmmc.c mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4 2020-09-07 14:20:17 +02:00