• Linus Torvalds's avatar
    Merge tag 'mmc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 0bae60fc
    Linus Torvalds authored
    Pull MMC updates from Ulf Hansson:
     "There are two major achievements for MMC in this release, which
      deserves to be specially highlighted.
    
      First, we have converted the MMC block device from using the legacy
      blk interface into using the modern blkmq interface. Not only do we
      get all the nice effects from using blkmq, but it also means that new
      fresh nice code replaces old rusty code. Great news to everybody that
      cares about MMC/SD!
    
      It should also be noted that converting to blkmq has not been trivial,
      mostly because of that we have been carrying too much of MMC specific
      optimizations for the I/O request path, rather than striving to move
      these to the generic blk layer. Hopefully we won't be doing that
      mistake, ever again.
    
      Special thanks to Adrian Hunter (Intel) and to Linus Walleij (Linaro),
      who both have been working on this for quite some time!
    
      Second, on top of the blkmq deployment, we have enabled full support
      the eMMC command queuing feature, introduced in the eMMC v.5.1 spec.
      This also includes an implementation of a host driver library,
      supporting the corresponding CQHCI HW. Ideally, those controllers that
      supports CQHCI should only need some minor adaptations to make this
      play.
    
      So far the sdhci-pci driver for the Intel GLKs and the sdhci-of-arasan
      driver used on Rockchip RK3399, have enabled support for eMMC command
      queueing.
    
      Worth to highlight is also that, implementing the eMMC command queuing
      support has been a collaborative effort, as several people from
      Codeaurora, Rockchip, Intel and Linaro have been involved. However,
      the work has been driven by Adrian Hunter (Intel).
    
      In some shadow of the above, here are the rest of the highlights:
    
      MMC core:
       - Don't remove non-removable cards during system suspend
       - Add a slot-gpio helper to check capability of GPIO WP detection
    
      MMC host:
       - sdhci: Cleanups and improvements of some wakeup related code
       - sdhci-pci-arasan: New variant to support Arasan PCI HW with integrated phy
       - sdhci-acpi: Avoid broken UHS transfer modes on Intel CHT
       - sdhci-acpi: Add support for ACPI HID of AMD Controller with HS400
       - sdhci_f_sdh30: Add ACPI support
       - sdhci-esdhc-imx: Enable/disable clock at runtime suspend/resume
       - sdhci-of-esdhc: A few minor fixes
       - mmci: Add support for new STM32 variant
       - renesas_sdhi: enable R-Car D3 (r8a77995) support
       - tmio/renesas_sdhi: Re-structuring, cleanups and modernizations"
    
    * tag 'mmc-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (96 commits)
      mmc: mmci: fix error return code in mmci_probe()
      mmc: davinci: suppress error message on EPROBE_DEFER
      mmc: davinci: dont' use module_platform_driver_probe()
      mmc: tmio: hide unused tmio_mmc_clk_disable/tmio_mmc_clk_enable functions
      mmc: mmci: Add STM32 variant
      mmc: mmci: Add support for setting pad type via pinctrl
      mmc: mmci: Don't pretend all variants to have OPENDRAIN bit
      mmc: mmci: Don't pretend all variants to have MCI_STARBITERR flag
      mmc: mmci: Don't pretend all variants to have MMCIMASK1 register
      mmc: tmio: refactor .get_ro hook
      mmc: slot-gpio: add a helper to check capability of GPIO WP detection
      mmc: tmio: remove dma_ops from tmio_mmc_host_probe() argument
      mmc: tmio: move {tmio_}mmc_of_parse() to tmio_mmc_host_alloc()
      mmc: tmio: move clk_enable/disable out of tmio_mmc_host_probe()
      mmc: tmio: ioremap memory resource in tmio_mmc_host_alloc()
      mmc: sh_mmcif: remove redundant initialization of 'opc'
      mmc: sdhci: Rework sdhci_enable_irq_wakeups()
      mmc: sdhci: Handle failure of enable_irq_wake()
      mmc: sdhci: Stop exporting sdhci_enable_irq_wakeups()
      mmc: sdhci-pci: Use device wakeup capability to determine MMC_PM_WAKE_SDIO_IRQ capability
      ...
    0bae60fc
Kconfig 28.5 KB