diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-13 13:17:35 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-13 13:17:35 -0500 |
| commit | dee02770cdcd8bc06a48c917ce5df2fb56cf6059 (patch) | |
| tree | c79799cc851a224a02c007ff5122e12992bde7ab /include/linux/mmc | |
| parent | e4a8ca3baa5557fa54557d42b5910ed0d3316922 (diff) | |
| parent | 06641e8deae68ee2769c734158bc9170be257bb9 (diff) | |
Merge tag 'mmc-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
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
...
Diffstat (limited to 'include/linux/mmc')
| -rw-r--r-- | include/linux/mmc/host.h | 11 | ||||
| -rw-r--r-- | include/linux/mmc/sdhci-pci-data.h | 3 |
2 files changed, 10 insertions, 4 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 9a43763a68ad..e7743eca1021 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
| @@ -255,6 +255,10 @@ struct mmc_supply { | |||
| 255 | struct regulator *vqmmc; /* Optional Vccq supply */ | 255 | struct regulator *vqmmc; /* Optional Vccq supply */ |
| 256 | }; | 256 | }; |
| 257 | 257 | ||
| 258 | struct mmc_ctx { | ||
| 259 | struct task_struct *task; | ||
| 260 | }; | ||
| 261 | |||
| 258 | struct mmc_host { | 262 | struct mmc_host { |
| 259 | struct device *parent; | 263 | struct device *parent; |
| 260 | struct device class_dev; | 264 | struct device class_dev; |
| @@ -350,6 +354,8 @@ struct mmc_host { | |||
| 350 | #define MMC_CAP2_CQE (1 << 23) /* Has eMMC command queue engine */ | 354 | #define MMC_CAP2_CQE (1 << 23) /* Has eMMC command queue engine */ |
| 351 | #define MMC_CAP2_CQE_DCMD (1 << 24) /* CQE can issue a direct command */ | 355 | #define MMC_CAP2_CQE_DCMD (1 << 24) /* CQE can issue a direct command */ |
| 352 | 356 | ||
| 357 | int fixed_drv_type; /* fixed driver type for non-removable media */ | ||
| 358 | |||
| 353 | mmc_pm_flag_t pm_caps; /* supported pm features */ | 359 | mmc_pm_flag_t pm_caps; /* supported pm features */ |
| 354 | 360 | ||
| 355 | /* host specific block data */ | 361 | /* host specific block data */ |
| @@ -388,8 +394,9 @@ struct mmc_host { | |||
| 388 | struct mmc_card *card; /* device attached to this host */ | 394 | struct mmc_card *card; /* device attached to this host */ |
| 389 | 395 | ||
| 390 | wait_queue_head_t wq; | 396 | wait_queue_head_t wq; |
| 391 | struct task_struct *claimer; /* task that has host claimed */ | 397 | struct mmc_ctx *claimer; /* context that has host claimed */ |
| 392 | int claim_cnt; /* "claim" nesting count */ | 398 | int claim_cnt; /* "claim" nesting count */ |
| 399 | struct mmc_ctx default_ctx; /* default context */ | ||
| 393 | 400 | ||
| 394 | struct delayed_work detect; | 401 | struct delayed_work detect; |
| 395 | int detect_change; /* card detect flag */ | 402 | int detect_change; /* card detect flag */ |
| @@ -469,6 +476,8 @@ void mmc_detect_change(struct mmc_host *, unsigned long delay); | |||
| 469 | void mmc_request_done(struct mmc_host *, struct mmc_request *); | 476 | void mmc_request_done(struct mmc_host *, struct mmc_request *); |
| 470 | void mmc_command_done(struct mmc_host *host, struct mmc_request *mrq); | 477 | void mmc_command_done(struct mmc_host *host, struct mmc_request *mrq); |
| 471 | 478 | ||
| 479 | void mmc_cqe_request_done(struct mmc_host *host, struct mmc_request *mrq); | ||
| 480 | |||
| 472 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) | 481 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) |
| 473 | { | 482 | { |
| 474 | host->ops->enable_sdio_irq(host, 0); | 483 | host->ops->enable_sdio_irq(host, 0); |
diff --git a/include/linux/mmc/sdhci-pci-data.h b/include/linux/mmc/sdhci-pci-data.h index 36f986d4a59a..1d42872d22f3 100644 --- a/include/linux/mmc/sdhci-pci-data.h +++ b/include/linux/mmc/sdhci-pci-data.h | |||
| @@ -15,7 +15,4 @@ struct sdhci_pci_data { | |||
| 15 | 15 | ||
| 16 | extern struct sdhci_pci_data *(*sdhci_pci_get_data)(struct pci_dev *pdev, | 16 | extern struct sdhci_pci_data *(*sdhci_pci_get_data)(struct pci_dev *pdev, |
| 17 | int slotno); | 17 | int slotno); |
| 18 | |||
| 19 | extern int sdhci_pci_spt_drive_strength; | ||
| 20 | |||
| 21 | #endif | 18 | #endif |
