Merge tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Nov 2017 18:17:35 +0000 (10:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 13 Nov 2017 18:17:35 +0000 (10:17 -0800)
Pull MMC updates from Ulf Hansson:
 "MMC core:
   - Introduce host claiming by context to support blkmq
   - Preparations for enabling CQE (eMMC CMDQ) requests
   - Re-factorizations to prepare for blkmq support
   - Re-factorizations to prepare for CQE support
   - Fix signal voltage switch for SD cards without power cycle
   - Convert RPMB to a character device
   - Export eMMC revision via sysfs
   - Support eMMC DT binding for fixed driver type
   - Document mmc_regulator_get_supply() API

 MMC host:
   - omap_hsmmc: Updated regulator management for PBIAS
   - sdhci-omap: Add new OMAP SDHCI driver
   - meson-mx-sdio: New driver for the Amlogic Meson8 and Meson8b SoCs
   - sdhci-pci: Add support for Intel CDF
   - sdhci-acpi: Fix voltage switch for some Intel host controllers
   - sdhci-msm: Enable delay circuit calibration clocks
   - sdhci-msm: Manage power IRQ properly
   - mediatek: Add support of mt2701/mt2712
   - mediatek: Updates management of clocks and tunings
   - mediatek: Upgrade eMMC HS400 support
   - rtsx_pci: Update tuning for gen3 PCI-Express
   - renesas_sdhi: Support R-Car Gen[123] fallback compatibility strings
   - Catch all errors when getting regulators
   - Various additional improvements and cleanups"

* tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (91 commits)
  sdhci-fujitsu: add support for setting the CMD_DAT_DELAY attribute
  dt-bindings: sdhci-fujitsu: document cmd-dat-delay property
  mmc: tmio: Replace msleep() of 20ms or less with usleep_range()
  mmc: dw_mmc: Convert timers to use timer_setup()
  mmc: dw_mmc: Cleanup the DTO timer like the CTO one
  mmc: vub300: Use common code in __download_offload_pseudocode()
  mmc: tmio: Use common error handling code in tmio_mmc_host_probe()
  mmc: Convert timers to use timer_setup()
  mmc: sdhci-acpi: Fix voltage switch for some Intel host controllers
  mmc: sdhci-acpi: Let devices define their own private data
  mmc: mediatek: perfer to use rise edge latching for cmd line
  mmc: mediatek: improve eMMC hs400 mode read performance
  mmc: mediatek: add latch-ck support
  mmc: mediatek: add support of source_cg clock
  mmc: mediatek: add stop_clk fix and enhance_rx support
  mmc: mediatek: add busy_check support
  mmc: mediatek: add async fifo and data tune support
  mmc: mediatek: add pad_tune0 support
  mmc: mediatek: make hs400_tune_response only for mt8173
  arm64: dts: mt8173: remove "mediatek, mt8135-mmc" from mmc nodes
  ...

1  2 
MAINTAINERS
drivers/mmc/core/queue.h
drivers/mmc/host/Makefile
drivers/mmc/host/sdhci-pci.h
include/linux/mmc/sdhci-pci-data.h

diff --combined MAINTAINERS
index 48d8f05bf92b337e24a7524f418350dbba96ad52,0acdde293e0090206532805f69e754474035cc31..779fa6dde58bd3404267c6d1296d99c6e55422ee
@@@ -873,7 -873,7 +873,7 @@@ F: drivers/android
  F:    drivers/staging/android/
  
  ANDROID GOLDFISH RTC DRIVER
 -M:    Miodrag Dinic <miodrag.dinic@imgtec.com>
 +M:    Miodrag Dinic <miodrag.dinic@mips.com>
  S:    Supported
  F:    Documentation/devicetree/bindings/rtc/google,goldfish-rtc.txt
  F:    drivers/rtc/rtc-goldfish.c
@@@ -4234,7 -4234,7 +4234,7 @@@ S:      Maintaine
  F:    drivers/dma/
  F:    include/linux/dmaengine.h
  F:    Documentation/devicetree/bindings/dma/
 -F:    Documentation/dmaengine/
 +F:    Documentation/driver-api/dmaengine/
  T:    git git://git.infradead.org/users/vkoul/slave-dma.git
  
  DMA MAPPING HELPERS
@@@ -4906,19 -4906,13 +4906,19 @@@ L:   linux-edac@vger.kernel.or
  S:    Maintained
  F:    drivers/edac/highbank*
  
 -EDAC-CAVIUM
 +EDAC-CAVIUM OCTEON
  M:    Ralf Baechle <ralf@linux-mips.org>
  M:    David Daney <david.daney@cavium.com>
  L:    linux-edac@vger.kernel.org
  L:    linux-mips@linux-mips.org
  S:    Supported
  F:    drivers/edac/octeon_edac*
 +
 +EDAC-CAVIUM THUNDERX
 +M:    David Daney <david.daney@cavium.com>
 +M:    Jan Glauber <jglauber@cavium.com>
 +L:    linux-edac@vger.kernel.org
 +S:    Supported
  F:    drivers/edac/thunderx_edac*
  
  EDAC-CORE
@@@ -6677,7 -6671,7 +6677,7 @@@ F:      include/net/ieee802154_netdev.
  F:    Documentation/networking/ieee802154.txt
  
  IFE PROTOCOL
 -M:    Yotam Gigi <yotamg@mellanox.com>
 +M:    Yotam Gigi <yotam.gi@gmail.com>
  M:    Jamal Hadi Salim <jhs@mojatatu.com>
  F:    net/ife
  F:    include/net/ife.h
@@@ -6739,7 -6733,7 +6739,7 @@@ S:      Maintaine
  F:    drivers/usb/atm/ueagle-atm.c
  
  IMGTEC ASCII LCD DRIVER
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  S:    Maintained
  F:    Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
  F:    drivers/auxdisplay/img-ascii-lcd.c
@@@ -7751,11 -7745,6 +7751,11 @@@ S:    Maintaine
  F:    Documentation/scsi/53c700.txt
  F:    drivers/scsi/53c700*
  
 +LEAKING_ADDRESSES
 +M:    Tobin C. Harding <me@tobin.cc>
 +S:    Maintained
 +F:    scripts/leaking_addresses.pl
 +
  LED SUBSYSTEM
  M:    Richard Purdie <rpurdie@rpsys.net>
  M:    Jacek Anaszewski <jacek.anaszewski@gmail.com>
@@@ -8754,7 -8743,7 +8754,7 @@@ Q:      http://patchwork.ozlabs.org/project/
  F:    drivers/net/ethernet/mellanox/mlxsw/
  
  MELLANOX FIRMWARE FLASH LIBRARY (mlxfw)
 -M:    Yotam Gigi <yotamg@mellanox.com>
 +M:    mlxsw@mellanox.com
  L:    netdev@vger.kernel.org
  S:    Supported
  W:    http://www.mellanox.com
@@@ -9004,7 -8993,7 +9004,7 @@@ F:      Documentation/mips
  F:    arch/mips/
  
  MIPS BOSTON DEVELOPMENT BOARD
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  L:    linux-mips@linux-mips.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/clock/img,boston-clock.txt
@@@ -9014,7 -9003,7 +9014,7 @@@ F:      drivers/clk/imgtec/clk-boston.
  F:    include/dt-bindings/clock/boston-clock.h
  
  MIPS GENERIC PLATFORM
 -M:    Paul Burton <paul.burton@imgtec.com>
 +M:    Paul Burton <paul.burton@mips.com>
  L:    linux-mips@linux-mips.org
  S:    Supported
  F:    arch/mips/generic/
@@@ -9030,7 -9019,7 +9030,7 @@@ F:      drivers/*/*loongson1
  F:    drivers/*/*/*loongson1*
  
  MIPS RINT INSTRUCTION EMULATION
 -M:    Aleksandar Markovic <aleksandar.markovic@imgtec.com>
 +M:    Aleksandar Markovic <aleksandar.markovic@mips.com>
  L:    linux-mips@linux-mips.org
  S:    Supported
  F:    arch/mips/math-emu/sp_rint.c
@@@ -10347,6 -10336,7 +10347,6 @@@ F:   drivers/pci/host/vmd.
  
  PCI DRIVER FOR MICROSEMI SWITCHTEC
  M:    Kurt Schwemmer <kurt.schwemmer@microsemi.com>
 -M:    Stephen Bates <stephen.bates@microsemi.com>
  M:    Logan Gunthorpe <logang@deltatee.com>
  L:    linux-pci@vger.kernel.org
  S:    Maintained
@@@ -10411,7 -10401,6 +10411,7 @@@ F:   drivers/pci/dwc/*keystone
  
  PCI ENDPOINT SUBSYSTEM
  M:    Kishon Vijay Abraham I <kishon@ti.com>
 +M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
  L:    linux-pci@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kishon/pci-endpoint.git
  S:    Supported
@@@ -10463,15 -10452,6 +10463,15 @@@ F: include/linux/pci
  F:    arch/x86/pci/
  F:    arch/x86/kernel/quirks.c
  
 +PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS
 +M:    Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 +L:    linux-pci@vger.kernel.org
 +Q:    http://patchwork.ozlabs.org/project/linux-pci/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/pci.git/
 +S:    Supported
 +F:    drivers/pci/host/
 +F:    drivers/pci/dwc/
 +
  PCIE DRIVER FOR AXIS ARTPEC
  M:    Niklas Cassel <niklas.cassel@axis.com>
  M:    Jesper Nilsson <jesper.nilsson@axis.com>
@@@ -10491,6 -10471,7 +10491,6 @@@ F:   drivers/pci/host/pci-thunder-
  
  PCIE DRIVER FOR HISILICON
  M:    Zhou Wang <wangzhou1@hisilicon.com>
 -M:    Gabriele Paoloni <gabriele.paoloni@huawei.com>
  L:    linux-pci@vger.kernel.org
  S:    Maintained
  F:    Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
@@@ -10702,9 -10683,10 +10702,9 @@@ S:  Maintaine
  F:    drivers/pinctrl/spear/
  
  PISTACHIO SOC SUPPORT
 -M:    James Hartley <james.hartley@imgtec.com>
 -M:    Ionela Voinescu <ionela.voinescu@imgtec.com>
 +M:    James Hartley <james.hartley@sondrel.com>
  L:    linux-mips@linux-mips.org
 -S:    Maintained
 +S:    Odd Fixes
  F:    arch/mips/pistachio/
  F:    arch/mips/include/asm/mach-pistachio/
  F:    arch/mips/boot/dts/img/pistachio*
@@@ -10908,7 -10890,7 +10908,7 @@@ S:   Maintaine
  F:    drivers/block/ps3vram.c
  
  PSAMPLE PACKET SAMPLING SUPPORT:
 -M:    Yotam Gigi <yotamg@mellanox.com>
 +M:    Yotam Gigi <yotam.gi@gmail.com>
  S:    Maintained
  F:    net/psample
  F:    include/net/psample.h
@@@ -12067,6 -12049,12 +12067,12 @@@ L: linux-mmc@vger.kernel.or
  S:    Maintained
  F:    drivers/mmc/host/sdhci-spear.c
  
+ SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) TI OMAP DRIVER
+ M:    Kishon Vijay Abraham I <kishon@ti.com>
+ L:    linux-mmc@vger.kernel.org
+ S:    Maintained
+ F:    drivers/mmc/host/sdhci-omap.c
  SECURE ENCRYPTING DEVICE (SED) OPAL DRIVER
  M:    Scott Bauer <scott.bauer@intel.com>
  M:    Jonathan Derrick <jonathan.derrick@intel.com>
@@@ -13617,14 -13605,23 +13623,14 @@@ F:        drivers/platform/x86/toshiba-wmi.
  
  TPM DEVICE DRIVER
  M:    Peter Huewe <peterhuewe@gmx.de>
 -M:    Marcel Selhorst <tpmdd@selhorst.net>
  M:    Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
  R:    Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
 -W:    http://tpmdd.sourceforge.net
 -L:    tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
 -Q:    https://patchwork.kernel.org/project/tpmdd-devel/list/
 +L:    linux-integrity@vger.kernel.org
 +Q:    https://patchwork.kernel.org/project/linux-integrity/list/
  T:    git git://git.infradead.org/users/jjs/linux-tpmdd.git
  S:    Maintained
  F:    drivers/char/tpm/
  
 -TPM IBM_VTPM DEVICE DRIVER
 -M:    Ashley Lai <ashleydlai@gmail.com>
 -W:    http://tpmdd.sourceforge.net
 -L:    tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
 -S:    Maintained
 -F:    drivers/char/tpm/tpm_ibmvtpm*
 -
  TRACING
  M:    Steven Rostedt <rostedt@goodmis.org>
  M:    Ingo Molnar <mingo@redhat.com>
diff --combined drivers/mmc/core/queue.h
index 6bfba32ffa66d94e4848e00f9e1e848fdcabe1a2,68f68ecd94eaedaf51fdc55c2e45bb642285dc3f..547b457c4251f5e8be71e33e7e9980d281ba6dd9
@@@ -1,4 -1,3 +1,4 @@@
 +/* SPDX-License-Identifier: GPL-2.0 */
  #ifndef MMC_QUEUE_H
  #define MMC_QUEUE_H
  
@@@ -36,12 -35,14 +36,14 @@@ struct mmc_blk_request 
  /**
   * enum mmc_drv_op - enumerates the operations in the mmc_queue_req
   * @MMC_DRV_OP_IOCTL: ioctl operation
+  * @MMC_DRV_OP_IOCTL_RPMB: RPMB-oriented ioctl operation
   * @MMC_DRV_OP_BOOT_WP: write protect boot partitions
   * @MMC_DRV_OP_GET_CARD_STATUS: get card status
   * @MMC_DRV_OP_GET_EXT_CSD: get the EXT CSD from an eMMC card
   */
  enum mmc_drv_op {
        MMC_DRV_OP_IOCTL,
+       MMC_DRV_OP_IOCTL_RPMB,
        MMC_DRV_OP_BOOT_WP,
        MMC_DRV_OP_GET_CARD_STATUS,
        MMC_DRV_OP_GET_EXT_CSD,
@@@ -82,6 -83,4 +84,4 @@@ extern void mmc_queue_resume(struct mmc
  extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
                                     struct mmc_queue_req *);
  
- extern int mmc_access_rpmb(struct mmc_queue *);
  #endif
index 7c7b29ff591a1cac0fbc1a5832569377c0dbc01c,ab61a3e39c0bb0289780f29c88afdc14e5935381..a43cf0d5a5d349b47be24d0bfe3543c7b5575b89
@@@ -1,4 -1,3 +1,4 @@@
 +# SPDX-License-Identifier: GPL-2.0
  #
  # Makefile for MMC/SD host controller drivers
  #
@@@ -65,6 -64,7 +65,7 @@@ obj-$(CONFIG_MMC_VUB300)      += vub300.
  obj-$(CONFIG_MMC_USHC)                += ushc.o
  obj-$(CONFIG_MMC_WMT)         += wmt-sdmmc.o
  obj-$(CONFIG_MMC_MESON_GX)    += meson-gx-mmc.o
+ obj-$(CONFIG_MMC_MESON_MX_SDIO)       += meson-mx-sdio.o
  obj-$(CONFIG_MMC_MOXART)      += moxart-mmc.o
  obj-$(CONFIG_MMC_SUNXI)               += sunxi-mmc.o
  obj-$(CONFIG_MMC_USDHI6ROL0)  += usdhi6rol0.o
@@@ -90,6 -90,7 +91,7 @@@ obj-$(CONFIG_MMC_SDHCI_MSM)           += sdhci-m
  obj-$(CONFIG_MMC_SDHCI_ST)            += sdhci-st.o
  obj-$(CONFIG_MMC_SDHCI_MICROCHIP_PIC32)       += sdhci-pic32.o
  obj-$(CONFIG_MMC_SDHCI_BRCMSTB)               += sdhci-brcmstb.o
+ obj-$(CONFIG_MMC_SDHCI_OMAP)          += sdhci-omap.o
  
  ifeq ($(CONFIG_CB710_DEBUG),y)
        CFLAGS-cb710-mmc        += -DDEBUG
index 3e8ea3e566f6ba41855ed4b89b5939972acc52d7,063506cc2ca9395c5da1a8f9841f58315eae30de..0056f08a29ccb32b06ae8dac9a155baffb64b428
@@@ -1,4 -1,3 +1,4 @@@
 +/* SPDX-License-Identifier: GPL-2.0 */
  #ifndef __SDHCI_PCI_H
  #define __SDHCI_PCI_H
  
@@@ -6,6 -5,12 +6,12 @@@
   * PCI device IDs, sub IDs
   */
  
+ #define PCI_DEVICE_ID_O2_SDS0         0x8420
+ #define PCI_DEVICE_ID_O2_SDS1         0x8421
+ #define PCI_DEVICE_ID_O2_FUJIN2               0x8520
+ #define PCI_DEVICE_ID_O2_SEABIRD0     0x8620
+ #define PCI_DEVICE_ID_O2_SEABIRD1     0x8621
  #define PCI_DEVICE_ID_INTEL_PCH_SDIO0 0x8809
  #define PCI_DEVICE_ID_INTEL_PCH_SDIO1 0x880a
  #define PCI_DEVICE_ID_INTEL_BYT_EMMC  0x0f14
@@@ -26,6 -31,7 +32,7 @@@
  #define PCI_DEVICE_ID_INTEL_SPT_SDIO  0x9d2c
  #define PCI_DEVICE_ID_INTEL_SPT_SD    0x9d2d
  #define PCI_DEVICE_ID_INTEL_DNV_EMMC  0x19db
+ #define PCI_DEVICE_ID_INTEL_CDF_EMMC  0x18db
  #define PCI_DEVICE_ID_INTEL_BXT_SD    0x0aca
  #define PCI_DEVICE_ID_INTEL_BXT_EMMC  0x0acc
  #define PCI_DEVICE_ID_INTEL_BXT_SDIO  0x0ad0
@@@ -164,4 -170,10 +171,10 @@@ static inline void *sdhci_pci_priv(stru
  int sdhci_pci_resume_host(struct sdhci_pci_chip *chip);
  #endif
  
+ int sdhci_pci_o2_probe_slot(struct sdhci_pci_slot *slot);
+ int sdhci_pci_o2_probe(struct sdhci_pci_chip *chip);
+ #ifdef CONFIG_PM_SLEEP
+ int sdhci_pci_o2_resume(struct sdhci_pci_chip *chip);
+ #endif
  #endif /* __SDHCI_PCI_H */
index 36f986d4a59a3424f2e979a7a319088accc5e681,618f90d6e1ba1a2ac131acd3bbfc757575161f5b..1d42872d22f36c8dfb1f9a67d7881820d2521e14
@@@ -1,4 -1,3 +1,4 @@@
 +/* SPDX-License-Identifier: GPL-2.0 */
  #ifndef LINUX_MMC_SDHCI_PCI_DATA_H
  #define LINUX_MMC_SDHCI_PCI_DATA_H
  
@@@ -15,7 -14,4 +15,4 @@@ struct sdhci_pci_data 
  
  extern struct sdhci_pci_data *(*sdhci_pci_get_data)(struct pci_dev *pdev,
                                int slotno);
- extern int sdhci_pci_spt_drive_strength;
  #endif