[GIT PULL] MMC updates for v5.7
From: Ulf Hansson
Date: Mon Mar 30 2020 - 12:16:57 EST
Hi Linus,
Here's the PR with the MMC updates for v5.7. Details about the highlights are as
usual found in the signed tag.
Please pull this in!
Kind regards
Ulf Hansson
The following changes since commit 16fbf79b0f83bc752cee8589279f1ebfe57b3b6e:
Linux 5.6-rc7 (2020-03-22 18:31:56 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v5.7
for you to fetch changes up to 92075d98abf0f42db1cb518150364f196d4ad217:
mmc: cavium-octeon: remove nonsense variable coercion (2020-03-27 13:26:25 +0100)
----------------------------------------------------------------
MMC core:
- Add support for host software queue for (e)MMC/SD
- Throttle polling rate for CMD6
- Update CMD13 busy condition check for CMD6 commands
- Improve busy detect polling for erase/trim/discard/HPI
- Fixup support for HW busy detection for HPI commands
- Re-work and improve support for eMMC sanitize commands
MMC host:
- mmci: Add support for sdmmc variant revision 2.0
- mmci_sdmmc: Improve support for busyend detection
- mmci_sdmmc: Fixup support for signal voltage switch
- mmci_sdmmc: Add support for tuning with delay block
- mtk-sd: Fix another SDIO irq issue
- sdhci: Disable native card detect when GPIO based type exist
- sdhci: Add option to defer request completion
- sdhci_am654: Add support to set a tap value per speed mode
- sdhci-esdhc-imx: Add support for i.MX8MM based variant
- sdhci-esdhc-imx: Fixup support for standard tuning on i.MX8 usdhc
- sdhci-esdhc-imx: Optimize for strobe/clock dll settings
- sdhci-esdhc-imx: Fixup support for system and runtime suspend/resume
- sdhci-iproc: Update regulator/bus-voltage management for bcm2711
- sdhci-msm: Prevent clock gating with PWRSAVE_DLL on broken variants
- sdhci-msm: Fix management of CQE during SDHCI reset
- sdhci-of-arasan: Add support for auto tuning on ZynqMP based platforms
- sdhci-omap: Add support for system suspend/resume
- sdhci-sprd: Add support for HW busy detection
- sdhci-sprd: Enable support host software queue
- sdhci-tegra: Add support for HW busy detection
- tmio/renesas_sdhi: Enforce retune after runtime suspend
- renesas_sdhi: Use manual tap correction for HS400 on some variants
- renesas_sdhi: Add support for manual correction of tap values for tunings
----------------------------------------------------------------
Adrian Hunter (1):
mmc: cqhci: Add cqhci_deactivate()
Baolin Wang (7):
mmc: Add MMC host software queue support
mmc: core: Enable the MMC host software queue for the SD card
mmc: host: sdhci: Add request_done ops for struct sdhci_ops
mmc: host: sdhci: Add a variable to defer to complete requests if needed
mmc: host: sdhci-sprd: Add software queue support
mmc: host: hsq: Add missing MODULE_LICENSE() and MODULE_DESCRIPTION()
mmc: sdhci-sprd: Set the missing MMC_CAP_WAIT_WHILE_BUSY flag
Cristian Birsan (1):
mmc: sdhci-of-at91: Display clock changes for debug purpose only
Faiz Abbas (4):
dt-bindings: mmc: sdhci-am654: Update Output tap delay binding
mmc: sdhci_am654: Update OTAPDLY writes
mmc: sdhci_am654: Enable DLL only for some speed modes
mmc: sdhci-omap: Add Support for Suspend/Resume
Geert Uytterhoeven (1):
mmc: renesas_sdhi: Use BITS_PER_LONG helper
Gustavo A. R. Silva (1):
mmc: Replace zero-length array with flexible-array member
Haibo Chen (13):
mmc: sdhci: do not enable card detect interrupt for gpio cd type
mmc: sdhci-esdhc-imx: no fail when no pinctrl available
mmc: sdhci-esdhci-imx: retune needed for Mega/Mix enabled SoCs
mmc: sdhci-esdhc-imx: restore the per_clk rate in PM_RUNTIME
doc: dt: fsl-imx-esdhc: add strobe-dll-delay-target binding
mmc: sdhci-esdhc-imx: add strobe-dll-delay-target support
mmc: sdhci-esdhc-imx: optimize the clock setting
mmc: sdhci-esdhc-imx: optimize the strobe dll setting
mmc: sdhci-esdhc-imx: add flag ESDHC_FLAG_BROKEN_AUTO_CMD23
mmc: sdhci-esdhc-imx: Add an new esdhc_soc_data for i.MX8MM
mmc: sdhci-esdhc-imx: clear pending interrupt and halt cqhci
mmc: sdhci-esdhc-imx: clear DMA_SEL when disable DMA mode
mmc: sdhci-esdhc-imx: restore pin state when resume back
Johan Jonker (1):
dt-bindings: mmc: synopsys-dw-mshc: fix clock-freq-min-max in example
JÃrÃme Pouiller (1):
mmc: core: Fix indentation
Lubomir Rintel (1):
dt-bindings: mmc: Fix node name in an example
Ludovic Barre (10):
mmc: mmci_sdmmc: Replace sg_dma_xxx macros
mmc: mmci_sdmmc: Rename sdmmc_priv struct to sdmmc_idma
mmc: mmci: Add a reference at mmc_host_ops in mmci struct
mmc: mmci: Add private pointer for variant
dt-bindings: mmc: mmci: add delay block base register for sdmmc
mmc: mmci_sdmmc: Add execute tuning with delay block
mmc: mmci: Add callbacks for to manage signal voltage switch
mmc: mmci_sdmmc: Implement signal voltage callbacks
mmc: mmci: Add support for sdmmc variant revision 2.0
mmc: mmci_sdmmc: Fix clear busyd0end irq flag
Manish Narani (4):
firmware: xilinx: Add ZynqMP Tap Delay setup ioctl to the valid list
firmware: xilinx: Add DLL reset support
mmc: sdhci-of-arasan: Add support for DLL reset for ZynqMP platforms
mmc: sdhci-of-arasan: Remove quirk for broken base clock
Masahiro Yamada (1):
mmc: sdhci: use FIELD_GET for preset value bit masks
Nicolas Saenz Julienne (6):
mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage()
mmc: sdhci: arasan: Use sdhci_set_power_and_voltage()
mmc: sdhci: milbeaut: Use sdhci_set_power_and_voltage()
mmc: sdhci: at91: Use sdhci_set_power_and_voltage()
mmc: sdhci: am654: Use sdhci_set_power_and_voltage()
mmc: sdhci: iproc: Add custom set_power() callback for bcm2711
Ritesh Harjani (1):
mmc: sdhci-msm: Don't enable PWRSAVE_DLL for certain sdhc hosts
Sowjanya Komatineni (2):
sdhci: tegra: Implement Tegra specific set_timeout callback
sdhci: tegra: Enable MMC_CAP_WAIT_WHILE_BUSY host capability
Takashi Iwai (1):
mmc: vub300: Use scnprintf() for avoiding potential buffer overflow
Takeshi Saito (2):
mmc: renesas_sdhi: Add manual correction
mmc: renesas_sdhi: only check CMD status for HS400 manual correction
Tang Bin (1):
mmc: cavium-octeon: remove nonsense variable coercion
Ulf Hansson (12):
mmc: core: Throttle polling rate for CMD6
mmc: core: Drop unused define
mmc: core: Extend mmc_switch_status() to rid of __mmc_switch_status()
mmc: core: Drop redundant in-parameter to __mmc_switch()
mmc: core: Split up mmc_poll_for_busy()
mmc: core: Enable re-use of mmc_blk_in_tran_state()
mmc: core: Update CMD13 busy check for CMD6 commands
mmc: core: Convert to mmc_poll_for_busy() for erase/trim/discard
mmc: core: Drop redundant out-parameter to mmc_send_hpi_cmd()
mmc: core: Convert to mmc_poll_for_busy() for HPI commands
mmc: core: Fixup support for HW busy detection for HPI commands
mmc: core: Re-work the code for eMMC sanitize
Veerabhadrarao Badiganti (4):
dt-bindings: mmc: sdhci-msm: Add CQE reg map
mmc: mmc_test: Pass different sg lists for non-blocking requests
mmc: sdhci-msm: Deactivate CQE during SDHC reset
mmc: cqhci: Update cqhci memory ioresource name
Wolfram Sang (10):
mmc: renesas_sdhi: remove double clear of automatic correction
mmc: renesas_sdhi: enforce manual correction for Gen3
mmc: renesas_sdhi: cleanup SCC defines
mmc: tmio: refactor tuning execution into SDHI driver
mmc: renesas_sdhi: complain loudly if driver needs update
mmc: tmio: give callback a generic name
mmc: tmio: enforce retune after runtime suspend
mmc: tmio: factor out TAP usage
mmc: tmio: remove superfluous callback wrappers
mmc: renesas_sdhi: simplify execute_tuning
yong mao (1):
mmc: mediatek: fix SDIO irq issue
.../devicetree/bindings/mmc/fsl-imx-esdhc.txt | 5 +
.../devicetree/bindings/mmc/mmc-controller.yaml | 2 +-
Documentation/devicetree/bindings/mmc/mmci.txt | 2 +
.../devicetree/bindings/mmc/sdhci-am654.txt | 21 +-
.../devicetree/bindings/mmc/sdhci-msm.txt | 8 +-
.../devicetree/bindings/mmc/synopsys-dw-mshc.yaml | 2 +-
drivers/firmware/xilinx/zynqmp.c | 2 +
drivers/mmc/core/block.c | 125 ++++----
drivers/mmc/core/core.c | 54 +---
drivers/mmc/core/mmc.c | 56 ++--
drivers/mmc/core/mmc_ops.c | 194 ++++++++----
drivers/mmc/core/mmc_ops.h | 15 +-
drivers/mmc/core/mmc_test.c | 52 ++-
drivers/mmc/core/queue.c | 22 +-
drivers/mmc/core/sd.c | 10 +
drivers/mmc/core/sdio_irq.c | 15 +-
drivers/mmc/host/Kconfig | 12 +
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/cavium-octeon.c | 4 +-
drivers/mmc/host/cqhci.c | 16 +-
drivers/mmc/host/cqhci.h | 6 +-
drivers/mmc/host/mmc_hsq.c | 348 +++++++++++++++++++++
drivers/mmc/host/mmc_hsq.h | 30 ++
drivers/mmc/host/mmci.c | 43 ++-
drivers/mmc/host/mmci.h | 8 +
drivers/mmc/host/mmci_stm32_sdmmc.c | 208 +++++++++++-
drivers/mmc/host/mtk-sd.c | 41 +++
drivers/mmc/host/renesas_sdhi.h | 6 +
drivers/mmc/host/renesas_sdhi_core.c | 183 ++++++++---
drivers/mmc/host/sdhci-acpi.c | 2 +-
drivers/mmc/host/sdhci-cadence.c | 2 +-
drivers/mmc/host/sdhci-esdhc-imx.c | 167 ++++++++--
drivers/mmc/host/sdhci-esdhc.h | 1 +
drivers/mmc/host/sdhci-iproc.c | 17 +-
drivers/mmc/host/sdhci-milbeaut.c | 13 +-
drivers/mmc/host/sdhci-msm.c | 27 +-
drivers/mmc/host/sdhci-of-arasan.c | 74 ++++-
drivers/mmc/host/sdhci-of-at91.c | 22 +-
drivers/mmc/host/sdhci-omap.c | 57 ++++
drivers/mmc/host/sdhci-pci.h | 2 +-
drivers/mmc/host/sdhci-pltfm.h | 2 +-
drivers/mmc/host/sdhci-sprd.c | 30 +-
drivers/mmc/host/sdhci-tegra.c | 35 ++-
drivers/mmc/host/sdhci.c | 45 ++-
drivers/mmc/host/sdhci.h | 18 +-
drivers/mmc/host/sdhci_am654.c | 264 ++++++++++------
drivers/mmc/host/tmio_mmc.h | 11 +-
drivers/mmc/host/tmio_mmc_core.c | 77 +----
drivers/mmc/host/vub300.c | 4 +-
include/linux/firmware/xlnx-zynqmp.h | 9 +-
include/linux/mmc/core.h | 3 -
include/linux/mmc/host.h | 7 +-
include/linux/mmc/mmc.h | 10 +
include/linux/mmc/sdio_func.h | 2 +-
include/linux/platform_data/mmc-esdhc-imx.h | 1 +
include/uapi/linux/mmc/ioctl.h | 2 +-
56 files changed, 1825 insertions(+), 570 deletions(-)
create mode 100644 drivers/mmc/host/mmc_hsq.c
create mode 100644 drivers/mmc/host/mmc_hsq.h