Hi Linus, Here's the PR for MMC v4.10. Details about the highlights are as usual found in the signed tag. One note, you should expect a merge conflict when pulling in changes with the block tree. The conflict is in drivers/mmc/card/block.c, also reported by Stephen Rothwell, but I think it should be quite trivial to resolve. Please, drop me an email if you encounter issues. Please pull this in! Kind regards Ulf Hansson The following changes since commit e5517c2a5a49ed5e99047008629f1cd60246ea0e: Linux 4.9-rc7 (2016-11-27 13:08:04 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v4.10 for you to fetch changes up to ff6af28faff53a7389230026b83e543385f7b21d: mmc: sdhci-cadence: add Cadence SD4HC support (2016-12-08 15:02:52 +0100) ---------------------------------------------------------------- It's been an busy period for mmc. Quite some changes in the mmc core, two new mmc host drivers, some existing drivers being extended to support new IP versions and lots of other updates. MMC core: - Delete eMMC packed command support - Introduce mmc_abort_tuning() to enable eMMC tuning to fail gracefully - Introduce mmc_can_retune() to see if a host can be retuned - Re-work and improve the sequence when sending a CMD6 for mmc - Enable CDM13 polling when switching to HS and HS DDR mode for mmc - Relax checking for CMD6 errors after switch to HS200 - Re-factoring the code dealing with the mmc block queue - Recognize whether the eMMC card supports CMDQ - Fix 4K native sector check - Don't power off the card when starting the host - Increase MMC_IOC_MAX_BYTES to support bigger firmware binaries - Improve error handling and drop meaningless BUG_ONs() - Lots of clean-ups and changes to improve the quality of the code MMC host: - sdhci: Fix tuning sequence and clean-up the related code - sdhci: Add support to via DT override broken SDHCI cap register bits - sdhci-cadence: Add new driver for Cadence SD4HC SDHCI variant - sdhci-msm: Update clock management - sdhci-msm: Add support for eMMC HS400 mode - sdhci-msm: Deploy runtime/system PM support - sdhci-iproc: Extend driver support to newer IP versions - sdhci-pci: Add support for Intel GLK - sdhci-pci: Add support for Intel NI byt sdio - sdhci-acpi: Add support for 80860F14 UID 2 SDIO bus - sdhci: Lots of various small improvements and clean-ups - tmio: Add support for tuning - sh_mobile_sdhi: Add support for tuning - sh_mobile_sdhi: Extend driver to support SDHI IP on R7S72100 SoC - sh_mobile_sdhi: remove support for sh7372 - davinci: Use mmc_of_parse() to enable generic mmc DT bindings - meson: Add new driver to support GX platforms - dw_mmc: Deploy generic runtime/system PM support - dw_mmc: Lots of various small improvements As a part of the mmc changes this time, I have also pulled in an immutable branch/tag (soc-device-match-tag1) hosted by Geert Uytterhoeven, to share the implementation of the new soc_device_match() interface. This is needed by the below mmc related changes: - mmc: sdhci-of-esdhc: Get correct IP version for T4240-R1.0-R2.0 - soc: fsl: add GUTS driver for QorIQ platforms ---------------------------------------------------------------- Adrian Hunter (20): mmc: sdhci-pci: Add support for Intel GLK mmc: block: Restore line inadvertently removed with packed commands mmc: block: Fix 4K native sector check mmc: queue: Fix queue thread wake-up mmc: queue: Factor out mmc_queue_alloc_bounce_bufs() mmc: queue: Factor out mmc_queue_alloc_bounce_sgs() mmc: queue: Factor out mmc_queue_alloc_sgs() mmc: queue: Factor out mmc_queue_reqs_free_bufs() mmc: queue: Introduce queue depth and use it to allocate and free mmc: mmc: Add Command Queue definitions mmc: mmc: Relax checking for switch errors after HS200 switch Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure" mmc: sdhci: Fix recovery from tuning timeout mmc: sdhci: Fix tuning reset after exhausting the maximum number of loops mmc: sdhci: Always allow tuning to fall back to fixed sampling mmc: mmc: Introduce mmc_abort_tuning() mmc: sdhci: Use mmc_abort_tuning() mmc: sdhci: Factor out tuning helper functions mmc: sdhci: Simplify tuning block size logic mmc: sdhci: Tidy tuning loop Ai Kyuse (3): mmc: tmio: enhance illegal sequence handling mmc: tmio: Add hw reset support mmc: tmio: Add tuning support Alexey Khoroshilov (1): mmc: wbsd: implement check for dma mapping error Arnd Bergmann (1): base: soc: Introduce soc_device_match() interface Chris Brandt (3): mmc: sh_mobile_sdhi: add ocr_mask option mmc: tmio-mmc: add support for 32bit data port mmc: sh_mobile_sdhi: Add r7s72100 support Colin Ian King (1): mmc: dw_mmc: fix spelling mistake in dev_dbg message Dan Carpenter (1): mmc: mmc_test: Uninitialized return value Daniel Drake (1): mmc: sdhci-acpi: support 80860F14 UID 2 SDIO bus David E. Box (1): mmc: sdhci-pci: Allow deferred probe for sd card detect gpio Geert Uytterhoeven (3): base: soc: Early register bus when needed base: soc: Check for NULL SoC device attributes base: soc: Provide a dummy implementation of soc_device_match() Jaehoon Chung (14): mmc: sdhci: put together into one condition checking mmc: dw_mmc: display the real register value on debugfs mmc: dw_mmc: fix the debug message for checking card's present mmc: dw_mmc: change the DW_MCI_FREQ_MIN from 400K to 100K mmc: dw_mmc: use the hold register when send stop command mmc: dw_mmc: call the dw_mci_prep_stop_abort() by default mmc: dw_mmc: use the cookie's enum values for post/pre_req() mmc: dw_mmc: remove the unnecessary mmc_data structure mmc: dw_mmc: The "clock-freq-min-max" property was deprecated Documentation: synopsys-dw-mshc: remove the unused properties mmc: dw_mmc: check the "present" variable before checking flags mmc: dw_mmc: add the debug message for polling and non-removable mmc: dw_mmc: display the clock message only one time when card is polling mmc: sdhci-s3c: add spin_unlock_irq() before calling clk_round_rate Javier Martinez Canillas (2): mmc: mediatek: Fix module autoload mmc: sdhci-of-at91: Fix module autoload Jeonghan Kim (1): mmc: block: Change MMC_IOC_MAX_BYTES Joonyoung Shim (2): mmc: dw_mmc: exynos: fix to call suspend callback mmc: dw_mmc: add missing codes for runtime resume Kevin Hilman (2): MMC: meson: initial support for GX platforms Documentation: DT: MMC: meson-gx: new bindings doc Linus Walleij (10): mmc: mmci: clean up header defines mmc: mmci: refactor ST Micro busy detection mmc: block: make gen_err a bool variable mmc: block: convert ecc_err to a bool mmc: core: use enum mmc_blk_status properly mmc: block: use mmc_req_is_special() mmc: block: rename data to blkdata mmc: block: move packed command struct init mmc: delete is_first_req parameter from pre-request callback mmc: block: delete packed command support Masahiro Yamada (4): mmc: sdhci: remove unneeded (void *) casts in sdhci_(pltfm_)priv() mmc: sdhci-of-at91: remove bogus MMC_SDHCI_IO_ACCESSORS select mmc: sdhci: export sdhci_execute_tuning() mmc: sdhci-cadence: add Cadence SD4HC support Maxime Ripard (1): mmc: sunxi: Prevent against null dereference for vmmc Pramod Gurav (1): mmc: sdhci-msm: Add pm_runtime and system PM support Ritesh Harjani (10): mmc: sdhci-msm: Change poor style writel/readl of registers dt-bindings: sdhci-msm: Add xo value mmc: sdhci-msm: Add get_min_clock() and get_max_clock() callback mmc: sdhci-msm: Enable few quirks mmc: sdhci: Factor out sdhci_enable_clk mmc: sdhci-msm: Implement set_clock callback for sdhci-msm mmc: sdhci-msm: Add clock changes for DDR mode. mmc: sdhci-msm: Save the calculated tuning phase mmc: sdhci-msm: Add calibration tuning for CDCLP533 circuit sdhci: sdhci-msm: update dll configuration Scott Branden (2): mmc: sdhci-iproc: Add brcm, sdhci-iproc compat string in bindings document mmc: sdhci-iproc: support standard byte register accesses Shawn Lin (17): mmc: dw_mmc: add runtime PM callback mmc: dw_mmc-rockchip: add runtime PM support mmc: core: expose the capability of gpio card detect mmc: dw_mmc: disable biu clk if possible mmc: dw_mmc-k3: deploy runtime PM facilities mmc: dw_mmc-exynos: deploy runtime PM facilities mmc: dw_mmc-pci: deploy runtime PM facilities mmc: dw_mmc-pltfm: deploy runtime PM facilities mmc: dw_mmc: remove system PM callback mmc: core: remove BUG_ONs from sdio mmc: debugfs: remove BUG_ON from mmc_ext_csd_open mmc: core: remove BUG_ONs from mmc mmc: core: remove BUG_ONs from sd mmc: core: remove BUG_ONs from core.c mmc: sdio_uart: remove meaningless BUG_ON mmc: queue: remove BUG_ON for bounce_sg mmc: mmc_test: remove BUG_ONs and deploy error handling Simon Horman (5): mmc: core: Add helper to see if a host can be retuned mmc: tmio: document mandatory and optional callbacks mmc: sh_mobile_sdhi: Add tuning support mmc: sh_mobile_sdhi: remove support for sh7372 mmc: sh_mmcif: Document r8a73a4, r8a7778 and sh73a0 DT bindings Sudeep Holla (1): soc: fsl: fix section mismatch build warnings Sylwester Nawrocki (1): mmc: s3cmci: Use DMA slave map rather than exported DMA filter Ulf Hansson (14): mmc: rtsx_usb_sdmmc: Enable runtime PM autosuspend mmc: core: Make mmc_switch_status() available for mmc core mmc: core: Clarify code which deals with polling in __mmc_switch() mmc: core: Factor out code related to polling in __mmc_switch() mmc: core: Don't use ->card_busy() and CMD13 in combination when polling mmc: core: Don't power off the card when starting the host mmc: core: Retry instead of ignore at CRC errors when polling for busy mmc: core: Remove redundant __mmc_send_status() mmc: core: Rename ignore_crc to retry_crc_err to reflect its purpose mmc: core: Check SWITCH_ERROR bit from each CMD13 response when polling mmc: core: Enable __mmc_switch() to change bus speed timing for the host mmc: core: Allow CMD13 polling when switching to HS mode for mmc mmc: core: Update CMD13 polling policy when switch to HS DDR mode Merge tag 'soc-device-match-tag1' into next Venkat Gopalakrishnan (2): mmc: sdhci-msm: Update DLL reset sequence mmc: sdhci-msm: Add HS400 platform support Wolfram Sang (2): mmc: tmio: fix wrong bitmask for SDIO irqs mmc: tmio: remove SDIO from TODO list Zach Brown (4): mmc: sdhci: dt: Add device tree properties sdhci-caps and sdhci-caps-mask mmc: sdhci: Use sdhci-caps-mask and sdhci-caps to change the caps read during __sdhci_read_caps mmc: sdhci-pci: Add PCI ID for Intel NI byt sdio mmc: sdhci-pci: Use ACPI to get max frequency for Intel NI byt sdio ahaslam@xxxxxxxxxxxx (2): mmc: davinci: use mmc_of_parse to parse common mmc configuration mmc: davinci: request gpios using gpio descriptors yangbo lu (5): ARM64: dts: ls2080a: add device configuration node dt: bindings: move guts devicetree doc out of powerpc directory soc: fsl: add GUTS driver for QorIQ platforms MAINTAINERS: add entry for Freescale SoC drivers mmc: sdhci-of-esdhc: fix host version for T4240-R1.0-R2.0 .../devicetree/bindings/mmc/amlogic,meson-gx.txt | 32 + .../devicetree/bindings/mmc/brcm,sdhci-iproc.txt | 9 + .../devicetree/bindings/mmc/renesas,mmcif.txt | 3 + .../devicetree/bindings/mmc/sdhci-cadence.txt | 30 + .../devicetree/bindings/mmc/sdhci-msm.txt | 1 + Documentation/devicetree/bindings/mmc/sdhci.txt | 13 + .../devicetree/bindings/mmc/synopsys-dw-mshc.txt | 8 +- Documentation/devicetree/bindings/mmc/tmio_mmc.txt | 2 +- .../bindings/{powerpc => soc}/fsl/guts.txt | 3 + MAINTAINERS | 12 +- arch/arm64/boot/dts/freescale/fsl-ls2080a.dtsi | 6 + drivers/base/Kconfig | 1 + drivers/base/soc.c | 79 ++ drivers/mmc/card/block.c | 499 ++---------- drivers/mmc/card/mmc_test.c | 58 +- drivers/mmc/card/queue.c | 312 +++----- drivers/mmc/card/queue.h | 29 +- drivers/mmc/card/sdio_uart.c | 2 - drivers/mmc/core/core.c | 97 +-- drivers/mmc/core/debugfs.c | 6 +- drivers/mmc/core/mmc.c | 113 +-- drivers/mmc/core/mmc_ops.c | 220 +++--- drivers/mmc/core/mmc_ops.h | 7 +- drivers/mmc/core/sd.c | 14 - drivers/mmc/core/sd_ops.c | 27 +- drivers/mmc/core/sdio.c | 17 +- drivers/mmc/core/sdio_cis.c | 3 +- drivers/mmc/core/sdio_irq.c | 12 +- drivers/mmc/core/slot-gpio.c | 8 + drivers/mmc/host/Kconfig | 23 +- drivers/mmc/host/Makefile | 2 + drivers/mmc/host/davinci_mmc.c | 130 ++-- drivers/mmc/host/dw_mmc-exynos.c | 52 +- drivers/mmc/host/dw_mmc-k3.c | 39 +- drivers/mmc/host/dw_mmc-pci.c | 29 +- drivers/mmc/host/dw_mmc-pltfm.c | 28 +- drivers/mmc/host/dw_mmc-rockchip.c | 42 +- drivers/mmc/host/dw_mmc.c | 181 +++-- drivers/mmc/host/dw_mmc.h | 7 +- drivers/mmc/host/jz4740_mmc.c | 3 +- drivers/mmc/host/meson-gx-mmc.c | 851 +++++++++++++++++++++ drivers/mmc/host/mmci.c | 128 +++- drivers/mmc/host/mmci.h | 71 +- drivers/mmc/host/mtk-sd.c | 4 +- drivers/mmc/host/omap_hsmmc.c | 3 +- drivers/mmc/host/rtsx_pci_sdmmc.c | 3 +- drivers/mmc/host/rtsx_usb_sdmmc.c | 3 + drivers/mmc/host/s3cmci.c | 15 +- drivers/mmc/host/sdhci-acpi.c | 1 + drivers/mmc/host/sdhci-cadence.c | 283 +++++++ drivers/mmc/host/sdhci-iproc.c | 35 +- drivers/mmc/host/sdhci-msm.c | 694 +++++++++++++++-- drivers/mmc/host/sdhci-of-at91.c | 1 + drivers/mmc/host/sdhci-of-esdhc.c | 20 + drivers/mmc/host/sdhci-pci-core.c | 98 ++- drivers/mmc/host/sdhci-pci.h | 3 + drivers/mmc/host/sdhci-pltfm.h | 2 +- drivers/mmc/host/sdhci-s3c.c | 2 + drivers/mmc/host/sdhci.c | 362 +++++---- drivers/mmc/host/sdhci.h | 4 +- drivers/mmc/host/sh_mobile_sdhi.c | 274 ++++++- drivers/mmc/host/sunxi-mmc.c | 15 +- drivers/mmc/host/tmio_mmc.h | 32 +- drivers/mmc/host/tmio_mmc_pio.c | 119 ++- drivers/mmc/host/wbsd.c | 11 +- drivers/soc/Kconfig | 3 +- drivers/soc/fsl/Kconfig | 18 + drivers/soc/fsl/Makefile | 1 + drivers/soc/fsl/guts.c | 239 ++++++ include/linux/fsl/guts.h | 125 +-- include/linux/mfd/tmio.h | 5 + include/linux/mmc/card.h | 14 +- include/linux/mmc/core.h | 16 +- include/linux/mmc/dw_mmc.h | 6 + include/linux/mmc/host.h | 17 +- include/linux/mmc/mmc.h | 17 + include/linux/mmc/slot-gpio.h | 1 + include/linux/sys_soc.h | 9 + include/uapi/linux/mmc/ioctl.h | 2 +- 79 files changed, 4092 insertions(+), 1574 deletions(-) create mode 100644 Documentation/devicetree/bindings/mmc/amlogic,meson-gx.txt create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-cadence.txt create mode 100644 Documentation/devicetree/bindings/mmc/sdhci.txt rename Documentation/devicetree/bindings/{powerpc => soc}/fsl/guts.txt (91%) create mode 100644 drivers/mmc/host/meson-gx-mmc.c create mode 100644 drivers/mmc/host/sdhci-cadence.c create mode 100644 drivers/soc/fsl/Kconfig create mode 100644 drivers/soc/fsl/guts.c -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html