[GIT PULL] MMC and MEMSTICK updates for v5.8

From: Ulf Hansson
Date: Mon Jun 01 2020 - 04:26:21 EST


Hi Linus,

Here's the PR with MMC and MEMSTICK updates for v5.8. Details about the
highlights are as usual found in the signed tag.

Note that, there are couple of changes included that touches arch/m68k code,
those have been acked accordingly and no merge conflict has been reported. The
similar applies to some bluetooth/wifi drivers, which is using the SDIO
functional API.

Please pull this in!

Kind regards
Ulf Hansson


The following changes since commit 9cb1fd0efd195590b828b9b865421ad345a4a145:

Linux 5.7-rc7 (2020-05-24 15:32:54 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v5.8

for you to fetch changes up to ae5c0585dfc2168c589de5878df2e591dfbd4bf0:

dt-bindings: mmc: Convert sdhci-pxa to json-schema (2020-06-01 08:05:13 +0200)

----------------------------------------------------------------
MMC core:
- Enable erase/discard/trim support for all (e)MMC/SD hosts
- Export information through sysfs about enhanced RPMB support (eMMC v5.1+)
- Align the initialization commands for SDIO cards
- Fix SDIO initialization to prevent memory leaks and NULL pointer errors
- Do not export undefined MMC_NAME/MODALIAS for SDIO cards
- Export device/vendor field from common CIS for SDIO cards
- Move SDIO IDs from functional drivers to the common SDIO header
- Introduce the ->request_atomic() host ops

MMC host:
- Improve support for HW busy signaling for several hosts
- Converting some DT bindings to the json-schema
- meson-mx-sdhc: Add driver and DT doc for the Amlogic Meson SDHC controller
- meson-mx-sdio: Run a soft reset to recover from timeout/CRC error
- mmci: Convert to use mmc_regulator_set_vqmmc()
- mmci_stm32_sdmmc: Fix a couple of DMA bugs
- mmci_stm32_sdmmc: Fix power on issue
- renesas,mmcif,sdhci: Document r8a7742 DT bindings
- renesas_sdhi: Add support for M3-W ES1.2 and 1.3 revisions
- renesas_sdhi: Improvements to the TAP selection
- renesas_sdhi/tmio: Further fixup runtime PM management at ->remove()
- sdhci: Introduce ops to dump vendor specific registers
- sdhci-cadence: Fix PHY write sequence
- sdhci-esdhc-imx: Improve tunings
- sdhci-esdhc-imx: Enable GPIO card detect as system wakeup
- sdhci-esdhc-imx: Add HS400 support for i.MX6SLL
- sdhci-esdhc-mcf: Add driver for the Coldfire/M5441X esdhc controller
- m68k: mcf5441x: Add platform data to enable esdhc mmc controller
- sdhci-msm: Improve HS400 tuning
- sdhci-msm: Dump vendor specific registers at error
- sdhci-msm: Add support for DLL/DDR properties provided from DT
- sdhci-msm: Add support for the sm8250 variant
- sdhci-msm: Add support for DVFS by converting to dev_pm_opp_set_rate()
- sdhci-of-arasan: Add support for Intel Keem Bay variant
- sdhci-of-arasan: Add support for Xilinx Versal SD variant
- sdhci-of-dwcmshc: Add support for system suspend/resume
- sdhci-of-dwcmshc: Fix UHS signaling support
- sdhci-of-esdhc: Fix tuning for eMMC HS400 mode
- sdhci-pci-gli: Add Genesys Logic GL9763E support
- sdhci-sprd: Add support for the ->request_atomic() ops
- sdhci-tegra: Avoid reading autocal timeout values when not applicable

MEMSTICK:
- Minor trivial update.

----------------------------------------------------------------
Adrian Hunter (6):
mmc: sdhci: Fix SDHCI_QUIRK_BROKEN_CQE
mmc: sdhci: Add helpers for the auto-CMD23 flag
mmc: sdhci: Stop exporting sdhci_send_command()
mmc: sdhci: Remove unneeded forward declaration of sdhci_finish_data()
mmc: sdhci: Tidy sdhci_request() a bit
mmc: sdhci: Reduce maximum time under spinlock in sdhci_send_command()

Angelo Dureghello (5):
m68k: mcf5441x: add support for esdhc mmc controller
mmc: sdhci: add quirks for be to le byte swapping
mmc: host: add Coldfire esdhc support
MAINTAINERS: add myself to maintain M5441X mmc host driver
m68k: coldfire/clk.c: move m5441x specific code

Baolin Wang (3):
mmc: host: Introduce the request_atomic() for the host
mmc: host: sdhci: Implement the request_atomic() API
mmc: host: sdhci-sprd: Implement the request_atomic() API

Ben Chuang (1):
mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support

Eugen Hristev (1):
mmc: sdhci-of-at91: fix CALCR register being rewritten

Gustavo A. R. Silva (1):
memstick: Replace zero-length array with flexible-array

Haibo Chen (5):
mmc: sdhci: add spin lock for sdhci_set_default_irqs in sdhci_init
mmc: sdhci-esdhc-imx: Add HS400 support for i.MX6SLL
mmc: host: sdhci-esdhc-imx: add wakeup feature for GPIO CD pin
mmc: sdhci-esdhc-imx: fix the mask for tuning start point
mmc: sdhci-esdhc-imx: disable the CMD CRC check for standard tuning

Jisheng Zhang (3):
mmc: sd: use HIGH_SPEED_BUS_SPEED in mmc_sd_switch_hs()
mmc: sdhci-of-dwcmshc: implement specific set_uhs_signaling
mmc: sdhci-of-dwcmshc: add suspend/resume support

JÃrÃme Pouiller (1):
mmc: fix compilation of user API

Krishna Konda (1):
mmc: core: expose info about enhanced rpmb support

Lad Prabhakar (2):
dt-bindings: mmc: renesas,mmcif: Document r8a7742 DT bindings
dt-bindings: mmc: renesas,sdhi: Document r8a7742 support

Lubomir Rintel (1):
dt-bindings: mmc: Convert sdhci-pxa to json-schema

Ludovic Barre (3):
mmc: mmci_sdmmc: fix power on issue due to pwr_reg initialization
mmc: mmci_sdmmc: fix DMA API warning overlapping mappings
mmc: mmci_sdmmc: fix DMA API warning max segment size

Manish Narani (6):
dt-bindings: mmc: arasan: Document 'xlnx,versal-8.9a' controller
sdhci: arasan: Add support for Versal Tap Delays
mmc: sdhci-of-arasan: Rename sdhci_arasan_data to avoid confusion
mmc: sdhci-of-arasan: Rearrange the platform data structs for modularity
mmc: sdhci-of-arasan: Modify clock operations handling
mmc: sdhci-of-arasan: Fix kernel-doc warnings

Marek Vasut (3):
mmc: host: Prepare host drivers for mmc_regulator_set_vqmmc() returning > 0
mmc: core: Return 1 from mmc_regulator_set_vqmmc() if switch skipped
mmc: mmci: Switch to mmc_regulator_set_vqmmc()

Martin Blumenstingl (6):
mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error
dt-bindings: mmc: Document the Amlogic Meson SDHC MMC host controller
mmc: host: meson-mx-sdhc: new driver for the Amlogic Meson SDHC host
mmc: meson-mx-sdhc: Fix building with CONFIG_MMC_MESON_MX_SDHC=m
mmc: meson-mx-sdhc: Fix manual RX FIFO flushing
mmc: meson-mx-sdhc: Don't use literal 0 to initialize structs

Masahiro Yamada (5):
mmc: sdhci: move SDHCI_CAPABILITIES_1 to a more suitable place
mmc: sdhci: use FIELD_GET/PREP for capabilities bit masks
mmc: sdhci-of-at91: make MMC_SDHCI_OF_AT91 depend on HAVE_CLK
mmc: uniphier-sd: call devm_request_irq() after tmio_mmc_host_probe()
mmc: sdhci: use FIELD_GET/PREP for current capabilities bit masks

Nathan Chancellor (1):
mmc: sdhci-of-arasan: Remove uninitialized ret variables

Pali RohÃr (13):
mmc: sdio: Fix macro name for Marvell device with ID 0x9134
mmc: sdio: Change macro names for Marvell 8688 modules
mmc: sdio: Move SDIO IDs from mwifiex driver to common include file
mmc: sdio: Move SDIO IDs from btmrvl driver to common include file
mmc: sdio: Move SDIO IDs from btmtksdio driver to common include file
mmc: sdio: Move SDIO IDs from smssdio driver to common include file
mmc: sdio: Move SDIO IDs from ath6kl driver to common include file
mmc: sdio: Move SDIO IDs from ath10k driver to common include file
mmc: sdio: Move SDIO IDs from b43-sdio driver to common include file
mmc: sdio: Fix Cypress SDIO IDs macros in common include file
mmc: sdio: Sort all SDIO IDs in common include file
mmc: core: Do not export MMC_NAME= and MODALIAS=mmc:block for SDIO cards
mmc: core: Export device/vendor ids from Common CIS for SDIO cards

Peng Hao (1):
mmc: block: Fix use-after-free issue for rpmb

Rajendra Nayak (2):
mmc: sdhci-msm: Use OPP API to set clk/perf state
mmc: sdhci-msm: Fix error handling for dev_pm_opp_of_add_table()

Sarthak Garg (7):
dt-bindings: mmc: Add new compatible string for sm8250 target
dt-bindings: mmc: Add information for DLL register properties
mmc: sdhci-msm: Update dll_config_3 as per HSR
mmc: sdhci-msm: Update DDR_CONFIG as per device tree file
mmc: sdhci-msm: Read and use DLL Config property from device tree file
mmc: sdhci-msm: Introduce new ops to dump vendor specific registers
mmc: sdhci-msm: dump vendor specific registers during error

Sowjanya Komatineni (1):
sdhci: tegra: Avoid reading autocal timeout values when not applicable

Takeshi Saito (1):
mmc: renesas_sdhi: Avoid bad TAP in HS400

Ulf Hansson (33):
mmc: android-goldfish: Enable MMC_CAP2_NO_SDIO
mmc: sdhci-sprd: Drop redundant cap flags
mmc: au1xmmc: Drop redundant code in au1xmmc_send_command()
mmc: s3cmci: Drop redundant code in s3cmci_setup_data()
mmc: wbsd: Replace hardcoded command numbers with existing defines
mmc: atmel-mci: Keep timer enabled when queuing a next request
mmc: atmel-mci: Set the timer per command rather than per request
mmc: atmel-mci: Respect the cmd->busy_timeout from the mmc core
mmc: usdhi6rol0: Inform the mmc core about the maximum busy timeout
staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
mmc: jz4740: Inform the mmc core about the maximum busy timeout
mmc: owl-mmc: Respect the cmd->busy_timeout from the mmc core
mmc: sdricoh_cs: Drop unused defines
mmc: sdricoh_cs: Use MMC_APP_CMD rather than a hardcoded number
mmc: sdricoh_cs: Move MMC_APP_CMD handling to sdricoh_mmc_cmd()
mmc: sdricoh_cs: Drop redundant in-parameter to sdricoh_query_status()
mmc: tifm_sd: Inform the mmc core about the maximum busy timeout
mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core
mmc: mmc_spi: Add/rename defines for timeouts
mmc: mmc_spi: Respect the cmd->busy_timeout from the mmc core
mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card()
mmc: sdio: Fix several potential memory leaks in mmc_sdio_init_card()
mmc: sdio: Re-use negotiated OCR mask when re-sending CMD8
mmc: sdio: Align the initialization commands in retry path for UHS-I
mmc: cb710: Inform the mmc core about the maximum busy timeout
mmc: sdricoh_cs: Throttle polling rate for data transfers
mmc: sdricoh_cs: Throttle polling rate for commands
mmc: sdricoh_cs: Respect the cmd->busy_timeout from the mmc core
mmc: core: Enable erase/discard/trim support for all mmc hosts
mmc: host: Drop redundant MMC_CAP_ERASE
mmc: tmio: Further fixup runtime PM management at remove
mmc: tmio: Make sure the PM domain is 'started' while probing
Merge branch 'fixes' into next

Veerabhadrarao Badiganti (4):
mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk
mmc: sdhci-msm: Enable ADMA length mismatch error interrupt
mmc: host: sdhci-msm: Configure dll-user-control in dll init sequence
mmc: sdhci-msm: Clear tuning done flag while hs400 tuning

Vladimir Kondratiev (1):
mmc: sdhci-cadence: fix PHY write

Wan Ahmad Zainie (2):
dt-bindings: mmc: arasan: Add compatible strings for Intel Keem Bay
mmc: sdhci-of-arasan: Add support for Intel Keem Bay

Wolfram Sang (8):
mmc: renesas_sdhi: refactor calculation of best TAP
mmc: renesas_sdhi: clarify handling of selecting TAPs
mmc: renesas_sdhi: improve TAP selection if all TAPs are good
mmc: renesas_sdhi: simplify summary output
mmc: renesas_sdhi: shorten types after refactorization
mmc: renesas_sdhi: handle M3-W ES1.2 and 1.3 revisions
mmc: sdhci-esdhc: update contact email
mmc: renesas_sdhi: remove manual clk handling

Yangbo Lu (1):
mmc: sdhci-of-esdhc: exit HS400 properly before setting any speed mode

Zou Wei (2):
mmc: core: Use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE
mmc: sdhci-pci-o2micro: Make some symbols static

.../bindings/mmc/amlogic,meson-mx-sdhc.yaml | 68 ++
.../devicetree/bindings/mmc/arasan,sdhci.txt | 57 ++
.../devicetree/bindings/mmc/renesas,mmcif.txt | 5 +-
.../devicetree/bindings/mmc/renesas,sdhi.txt | 1 +
.../devicetree/bindings/mmc/sdhci-msm.txt | 14 +
.../devicetree/bindings/mmc/sdhci-pxa.txt | 50 --
.../devicetree/bindings/mmc/sdhci-pxa.yaml | 102 +++
MAINTAINERS | 7 +
arch/m68k/coldfire/device.c | 33 +-
arch/m68k/coldfire/m5441x.c | 27 +-
arch/m68k/include/asm/m5441xsim.h | 15 +
arch/m68k/include/asm/mcfclk.h | 2 +
drivers/bluetooth/btmrvl_sdio.c | 18 +-
drivers/bluetooth/btmtksdio.c | 4 +-
drivers/media/mmc/siano/smssdio.c | 10 +-
drivers/mmc/core/block.c | 2 +-
drivers/mmc/core/bus.c | 14 +
drivers/mmc/core/core.c | 6 +-
drivers/mmc/core/debugfs.c | 6 +-
drivers/mmc/core/mmc.c | 6 +
drivers/mmc/core/quirks.h | 2 +-
drivers/mmc/core/regulator.c | 17 +-
drivers/mmc/core/sd.c | 30 +-
drivers/mmc/core/sdio.c | 136 +--
drivers/mmc/host/Kconfig | 29 +-
drivers/mmc/host/Makefile | 3 +
drivers/mmc/host/android-goldfish.c | 10 +-
drivers/mmc/host/atmel-mci.c | 12 +-
drivers/mmc/host/au1xmmc.c | 20 +-
drivers/mmc/host/bcm2835.c | 3 +-
drivers/mmc/host/cavium.c | 3 +-
drivers/mmc/host/cb710-mmc.c | 8 +
drivers/mmc/host/dw_mmc-k3.c | 2 +-
drivers/mmc/host/dw_mmc.c | 9 +-
drivers/mmc/host/jz4740_mmc.c | 13 +-
drivers/mmc/host/meson-gx-mmc.c | 5 +-
drivers/mmc/host/meson-mx-sdhc-clkc.c | 158 ++++
drivers/mmc/host/meson-mx-sdhc-mmc.c | 914 +++++++++++++++++++++
drivers/mmc/host/meson-mx-sdhc.h | 141 ++++
drivers/mmc/host/meson-mx-sdio.c | 5 +-
drivers/mmc/host/mmc_hsq.c | 29 +-
drivers/mmc/host/mmc_hsq.h | 1 +
drivers/mmc/host/mmc_spi.c | 20 +-
drivers/mmc/host/mmci.c | 30 +-
drivers/mmc/host/mmci_stm32_sdmmc.c | 15 +-
drivers/mmc/host/mtk-sd.c | 21 +-
drivers/mmc/host/mvsdio.c | 2 -
drivers/mmc/host/mxs-mmc.c | 3 +-
drivers/mmc/host/omap.c | 2 +-
drivers/mmc/host/omap_hsmmc.c | 2 +-
drivers/mmc/host/owl-mmc.c | 8 +-
drivers/mmc/host/renesas_sdhi.h | 5 +-
drivers/mmc/host/renesas_sdhi_core.c | 146 ++--
drivers/mmc/host/rtsx_pci_sdmmc.c | 2 +-
drivers/mmc/host/rtsx_usb_sdmmc.c | 2 +-
drivers/mmc/host/s3cmci.c | 7 -
drivers/mmc/host/sdhci-cadence.c | 10 +-
drivers/mmc/host/sdhci-esdhc-imx.c | 45 +-
drivers/mmc/host/sdhci-esdhc-mcf.c | 521 ++++++++++++
drivers/mmc/host/sdhci-esdhc.h | 2 +-
drivers/mmc/host/sdhci-msm.c | 162 +++-
drivers/mmc/host/sdhci-of-arasan.c | 594 ++++++++++---
drivers/mmc/host/sdhci-of-at91.c | 12 +-
drivers/mmc/host/sdhci-of-dwcmshc.c | 74 +-
drivers/mmc/host/sdhci-of-esdhc.c | 34 +
drivers/mmc/host/sdhci-pci-core.c | 9 +-
drivers/mmc/host/sdhci-pci-gli.c | 106 +++
drivers/mmc/host/sdhci-pci-o2micro.c | 8 +-
drivers/mmc/host/sdhci-pci.h | 2 +
drivers/mmc/host/sdhci-sprd.c | 28 +-
drivers/mmc/host/sdhci-tegra.c | 57 +-
drivers/mmc/host/sdhci.c | 293 +++++--
drivers/mmc/host/sdhci.h | 38 +-
drivers/mmc/host/sdricoh_cs.c | 105 +--
drivers/mmc/host/sunxi-mmc.c | 10 +-
drivers/mmc/host/tifm_sd.c | 9 +-
drivers/mmc/host/tmio_mmc_core.c | 10 +-
drivers/mmc/host/uniphier-sd.c | 12 +-
drivers/mmc/host/usdhi6rol0.c | 9 +-
drivers/mmc/host/via-sdmmc.c | 7 +-
drivers/mmc/host/wbsd.c | 26 +-
drivers/net/wireless/ath/ath10k/sdio.c | 25 +-
drivers/net/wireless/ath/ath10k/sdio.h | 8 -
drivers/net/wireless/ath/ath6kl/hif.h | 6 -
drivers/net/wireless/ath/ath6kl/sdio.c | 17 +-
drivers/net/wireless/broadcom/b43/sdio.c | 4 +-
.../wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 6 +-
.../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +-
drivers/net/wireless/marvell/libertas/if_sdio.c | 2 +-
drivers/net/wireless/marvell/mwifiex/sdio.c | 38 +-
drivers/staging/greybus/sdio.c | 11 +-
include/linux/memstick.h | 2 +-
include/linux/mmc/card.h | 1 +
include/linux/mmc/host.h | 4 +-
include/linux/mmc/mmc.h | 1 +
include/linux/mmc/sdio_ids.h | 94 ++-
include/linux/platform_data/mmc-esdhc-imx.h | 2 +-
include/linux/platform_data/mmc-esdhc-mcf.h | 17 +
include/uapi/linux/mmc/ioctl.h | 1 +
99 files changed, 3888 insertions(+), 800 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mmc/amlogic,meson-mx-sdhc.yaml
delete mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
create mode 100644 drivers/mmc/host/meson-mx-sdhc-clkc.c
create mode 100644 drivers/mmc/host/meson-mx-sdhc-mmc.c
create mode 100644 drivers/mmc/host/meson-mx-sdhc.h
create mode 100644 drivers/mmc/host/sdhci-esdhc-mcf.c
create mode 100644 include/linux/platform_data/mmc-esdhc-mcf.h