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

From: Ulf Hansson
Date: Wed Apr 28 2021 - 04:48:43 EST


Hi Linus,

Here's the PR with updates for MMC and MEMSTICK for v5.13. 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 7412dee9f1fd3e224202b633fdfa6eeaebe0307e:

mmc: meson-gx: replace WARN_ONCE with dev_warn_once about scatterlist size alignment in block mode (2021-04-19 09:49:27 +0200)

are available in the Git repository at:

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

for you to fetch changes up to 97fce126e279690105ee15be652b465fd96f9997:

mmc: block: Issue a cache flush only when it's enabled (2021-04-26 11:37:23 +0200)

----------------------------------------------------------------
MMC core:
- Fix hanging on I/O during system suspend for removable cards
- Set read only for SD cards with permanent write protect bit
- Power cycle the SD/SDIO card if CMD11 fails for UHS voltage
- Issue a cache flush for eMMC only when it's enabled
- Adopt to updated cache ctrl settings for eMMC from MMC ioctls
- Use use device property API when parsing voltages
- Don't retry eMMC sanitize cmds
- Use the timeout from the MMC ioctl for eMMC santize cmds

MMC host:
- mmc_spi: Make of_mmc_spi.c resource provider agnostic
- mmc_spi: Use polling for card detect even without voltage-ranges
- sdhci: Check for reset prior to DMA address unmap
- sdhci-acpi: Add support for the AMDI0041 eMMC controller variant
- sdhci-esdhc-imx: Depending on OF Kconfig and cleanup code
- sdhci-pci: Add PCI IDs for Intel LKF
- sdhci-pci: Fix initialization of some SD cards for Intel BYT
- sdhci-pci-gli: Various improvements for GL97xx variants
- sdhci-of-dwcmshc: Enable support for MMC_CAP_WAIT_WHILE_BUSY
- sdhci-of-dwcmshc: Add ACPI support for BlueField-3 SoC
- sdhci-of-dwcmshc: Add Rockchip platform support
- tmio/renesas_sdhi: Extend support for reset and use a reset controller
- tmio/renesas_sdhi: Enable support for MMC_CAP_WAIT_WHILE_BUSY
- tmio/renesas_sdhi: Various improvements

MEMSTICK:
- Minor improvements/cleanups.

----------------------------------------------------------------
Adrian Hunter (2):
mmc: sdhci-pci: Add PCI IDs for Intel LKF
mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers

Al Cooper (1):
mmc: sdhci-brcmstb: Remove CQE quirk

Andy Shevchenko (6):
mmc: core: Correct descriptions in mmc_of_parse()
mmc: core: Convert mmc_of_parse_voltage() to use device property API
mmc: mmc_spi: Set up polling even if voltage-ranges is not present
mmc: mmc_spi: Drop unused NO_IRQ definition
mmc: mmc_spi: Use already parsed IRQ
mmc: mmc_spi: Make of_mmc_spi.c resource provider agnostic

Aniruddha Tvs Rao (1):
mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit

Arnd Bergmann (1):
memstick: r592: ignore kfifo_out() return code again

Avri Altman (2):
mmc: block: Update ext_csd.cache_ctrl if it was written
mmc: block: Issue a cache flush only when it's enabled

Bean Huo (4):
mmc: cavium: Use '"%s...", __func__' to print function name
mmc: core: Use userland specified timeout value for eMMC sanitize
mmc: core: Add a retries parameter to __mmc_switch function
mmc: core: Let eMMC sanitize not retry in case of timeout/failure

Ben Chuang (2):
mmc: sdhci-pci-gli: Improve GL9763E L1 entry delay to increase battery life
mmc: sdhci-pci-gli: Enlarge ASPM L1 entry delay of GL975x

Christophe JAILLET (2):
mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe()
mmc: uniphier-sd: Fix a resource leak in the remove function

Dinghao Liu (1):
mmc: sdhci-pci-o2micro: Add missing checks in sdhci_pci_o2_probe

DooHyun Hwang (1):
mmc: core: Do a power cycle when the CMD11 fails

Fabio Estevam (2):
mmc: sdhci-esdhc-imx: Remove non-DT stub
mmc: sdhci-esdhc-imx: Use device_get_match_data()

Hao Fang (1):
mmc: dw_mmc-k3: use the correct HiSilicon copyright

James Young (1):
mmc: sdhci-acpi: Add device ID for the AMDI0041 variant of the AMD eMMC controller.

Jia Yang (1):
mmc: sdhci-msm: Remove unnecessary error log

Jia-Ju Bai (1):
memstick: core: Assign error code of mspro_block_resume()

Jiapeng Chong (1):
memstick: r592: remove unused variable

Jisheng Zhang (5):
mmc: sdhci-pci: Avoid comma separated statements
mmc: sdhci: Use "mmc" directly rather than "host->mmc"
mmc: sdio: fix a typo in the comment of SDIO_SD_REV_3_00
mmc: sdhci-of-dwcmshc: set MMC_CAP_WAIT_WHILE_BUSY
mmc: sdhci: replace mmc->parent with mmc_dev() for consistency

Joey Pabalan (1):
memstick: Remove useless else branch

Krzysztof Kozlowski (3):
mmc: sdhci-s3c: simplify getting of_device_id match data
mmc: sdhci-s3c: correct kerneldoc of sdhci_s3c_drv_data
mmc: sdhci-s3c: constify uses of driver/match data

Laibin Qiu (2):
mmc: owl-mmc: Remove unnecessary error log
mmc: sdhci-st: Remove unnecessary error log

Liming Sun (1):
mmc: sdhci-of-dwcmshc: add ACPI support for BlueField-3 SoC

Luca Porzio (1):
mmc: core: Remove mq->use_cqe from the struct mmc_queue

Nicolas Saenz Julienne (1):
dt-bindings: mmc: iproc-sdhci: Convert to json-schema

Peng Fan (3):
dt-bindings: mmc: fsl-imx-esdhc: add pinctrl bindings
dt-bindings: mmc: fsl-imx-esdhc: add clock bindings
mmc: sdhci-esdhc-imx: validate pinctrl before use it

Philipp Zabel (2):
mmc: sdhci-st: simplify optional reset handling
mmc: dw_mmc: simplify optional reset handling

Pradeep P V K (1):
mmc: sdhci: Check for reset prior to DMA address unmap

Renius Chen (1):
mmc: sdhci-pci-gli: Enable short circuit protection mechanism of GL9755

Seiya Wang (1):
dt-bindings: mmc: Add compatible for Mediatek MT8195

Seunghui Lee (1):
mmc: core: Set read only for SD cards with permanent write protect bit

Shawn Guo (1):
mmc: sdhci-esdhc-imx: separate 100/200 MHz pinctrl states check

Shawn Lin (4):
dt-bindings: mmc: sdhci-of-dwcmhsc: Convert to yaml file
dt-bindings: mmc: sdhci-of-dwcmhsc: Add rockchip support
mmc: sdhci-of-dwcmshc: add rockchip platform support
mmc: dw_mmc-rockchip: Just set default sample value for legacy mode

Takeshi Saito (1):
mmc: tmio: restore bus width when resetting

Ulf Hansson (8):
mmc: core: Drop superfluous validations in mmc_hw|sw_reset()
mmc: core: Drop reference counting of the bus_ops
mmc: dw_mmc: Drop redundant call to ->card_event callback
mmc: block: Drop use of unlikely() in mmc_blk_probe()
mmc: block: Simplify logging during probe about added partitions
mmc: block: Fix error path in mmc_blk_probe()
mmc: core: Fix hanging on I/O during system suspend for removable cards
Merge branch 'fixes' into next

Wei Yongjun (1):
mmc: sdhci-of-dwcmshc: fix error return code in dwcmshc_probe()

Wolfram Sang (9):
mmc: tmio: remove workaround for NON_REMOVABLE
mmc: tmio: support custom irq masks
mmc: renesas_sdhi: use custom mask for TMIO_MASK_ALL
mmc: tmio: abort DMA before reset
mmc: renesas_sdhi: break SCC reset into own function
mmc: renesas_sdhi: do hard reset if possible
mmc: tmio: always flag retune when resetting and a card is present
mmc: renesas_sdhi: enable WAIT_WHILE_BUSY
mmc: tmio: always restore irq register

Yang Li (2):
mmc: via-sdmmc: remove unneeded variable 'ret'
mmc: moxart: Remove unused variable 'dma_time' and 'pio_time'

Yue Hu (1):
mmc: core: Reduce code duplication to mmc_spi_send_{csd|cid}

.../devicetree/bindings/mmc/brcm,iproc-sdhci.yaml | 63 +++++
.../devicetree/bindings/mmc/brcm,sdhci-iproc.txt | 37 ---
.../devicetree/bindings/mmc/fsl-imx-esdhc.yaml | 20 ++
.../devicetree/bindings/mmc/mmc-spi-slot.txt | 6 +-
Documentation/devicetree/bindings/mmc/mtk-sd.yaml | 1 +
.../devicetree/bindings/mmc/sdhci-of-dwcmshc.txt | 20 --
.../bindings/mmc/snps,dwcmshc-sdhci.yaml | 87 ++++++
drivers/memstick/core/memstick.c | 21 +-
drivers/memstick/core/mspro_block.c | 3 +-
drivers/memstick/host/r592.c | 6 +-
drivers/mmc/core/block.c | 76 +++--
drivers/mmc/core/core.c | 186 +-----------
drivers/mmc/core/core.h | 17 +-
drivers/mmc/core/host.c | 90 ++++--
drivers/mmc/core/mmc.c | 29 +-
drivers/mmc/core/mmc_ops.c | 59 ++--
drivers/mmc/core/mmc_ops.h | 4 +-
drivers/mmc/core/queue.c | 11 +-
drivers/mmc/core/queue.h | 1 -
drivers/mmc/core/sd.c | 6 +
drivers/mmc/core/sdio.c | 28 +-
drivers/mmc/host/Kconfig | 2 +
drivers/mmc/host/Makefile | 2 -
drivers/mmc/host/cavium.c | 3 +-
drivers/mmc/host/dw_mmc-k3.c | 2 +-
drivers/mmc/host/dw_mmc-rockchip.c | 2 +-
drivers/mmc/host/dw_mmc.c | 16 +-
drivers/mmc/host/mmc_spi.c | 8 +-
drivers/mmc/host/moxart-mmc.c | 10 +-
drivers/mmc/host/of_mmc_spi.c | 18 +-
drivers/mmc/host/owl-mmc.c | 1 -
drivers/mmc/host/renesas_sdhi.h | 2 +
drivers/mmc/host/renesas_sdhi_core.c | 38 ++-
drivers/mmc/host/renesas_sdhi_internal_dmac.c | 4 +-
drivers/mmc/host/renesas_sdhi_sys_dmac.c | 8 +-
drivers/mmc/host/sdhci-acpi.c | 2 +
drivers/mmc/host/sdhci-brcmstb.c | 1 -
drivers/mmc/host/sdhci-esdhc-imx.c | 26 +-
drivers/mmc/host/sdhci-esdhc-mcf.c | 8 +-
drivers/mmc/host/sdhci-msm.c | 8 +-
drivers/mmc/host/sdhci-of-aspeed.c | 2 +-
drivers/mmc/host/sdhci-of-dwcmshc.c | 313 +++++++++++++++++++--
drivers/mmc/host/sdhci-of-esdhc.c | 2 +-
drivers/mmc/host/sdhci-pci-core.c | 31 +-
drivers/mmc/host/sdhci-pci-gli.c | 46 ++-
drivers/mmc/host/sdhci-pci-o2micro.c | 8 +
drivers/mmc/host/sdhci-pci.h | 2 +
drivers/mmc/host/sdhci-s3c.c | 22 +-
drivers/mmc/host/sdhci-st.c | 23 +-
drivers/mmc/host/sdhci-tegra.c | 66 +++--
drivers/mmc/host/sdhci.c | 113 ++++----
drivers/mmc/host/sdhci_am654.c | 2 +-
drivers/mmc/host/tmio_mmc.h | 3 +-
drivers/mmc/host/tmio_mmc_core.c | 61 ++--
drivers/mmc/host/uniphier-sd.c | 5 +-
drivers/mmc/host/via-sdmmc.c | 3 +-
include/linux/mmc/host.h | 7 +-
include/linux/mmc/sdio.h | 2 +-
include/linux/spi/mmc_spi.h | 9 -
59 files changed, 1010 insertions(+), 642 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mmc/brcm,iproc-sdhci.yaml
delete mode 100644 Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt
delete mode 100644 Documentation/devicetree/bindings/mmc/sdhci-of-dwcmshc.txt
create mode 100644 Documentation/devicetree/bindings/mmc/snps,dwcmshc-sdhci.yaml