History

Merge tag 'mmc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC updates from Ulf Hansson: "MMC core: - Add support for host software queue for (e)MMC/SD - Throttle polling rate for CMD6 - Update CMD13 busy condition check for CMD6 commands - Improve busy detect polling for erase/trim/discard/HPI - Fixup support for HW busy detection for HPI commands - Re-work and improve support for eMMC sanitize commands MMC host: - mmci: * Add support for sdmmc variant revision 2.0 - mmci_sdmmc: * Improve support for busyend detection * Fixup support for signal voltage switch * Add support for tuning with delay block - mtk-sd: * Fix another SDIO irq issue - sdhci: * Disable native card detect when GPIO based type exist - sdhci: * Add option to defer request completion - sdhci_am654: * Add support to set a tap value per speed mode - sdhci-esdhc-imx: * Add support for i.MX8MM based variant * Fixup support for standard tuning on i.MX8 usdhc * Optimize for strobe/clock dll settings * Fixup support for system and runtime suspend/resume - sdhci-iproc: * Update regulator/bus-voltage management for bcm2711 - sdhci-msm: * Prevent clock gating with PWRSAVE_DLL on broken variants * Fix management of CQE during SDHCI reset - sdhci-of-arasan: * Add support for auto tuning on ZynqMP based platforms - sdhci-omap: * Add support for system suspend/resume - sdhci-sprd: * Add support for HW busy detection * Enable support host software queue - sdhci-tegra: * Add support for HW busy detection - tmio/renesas_sdhi: * Enforce retune after runtime suspend - renesas_sdhi: * Use manual tap correction for HS400 on some variants * Add support for manual correction of tap values for tunings" * tag 'mmc-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (86 commits) mmc: cavium-octeon: remove nonsense variable coercion mmc: mediatek: fix SDIO irq issue mmc: mmci_sdmmc: Fix clear busyd0end irq flag dt-bindings: mmc: Fix node name in an example mmc: core: Re-work the code for eMMC sanitize mmc: sdhci: use FIELD_GET for preset value bit masks mmc: sdhci-of-at91: Display clock changes for debug purpose only mmc: sdhci: iproc: Add custom set_power() callback for bcm2711 mmc: sdhci: am654: Use sdhci_set_power_and_voltage() mmc: sdhci: at91: Use sdhci_set_power_and_voltage() mmc: sdhci: milbeaut: Use sdhci_set_power_and_voltage() mmc: sdhci: arasan: Use sdhci_set_power_and_voltage() mmc: sdhci: Introduce sdhci_set_power_and_bus_voltage() mmc: vub300: Use scnprintf() for avoiding potential buffer overflow dt-bindings: mmc: synopsys-dw-mshc: fix clock-freq-min-max in example sdhci: tegra: Enable MMC_CAP_WAIT_WHILE_BUSY host capability sdhci: tegra: Implement Tegra specific set_timeout callback mmc: sdhci-omap: Add Support for Suspend/Resume mmc: renesas_sdhi: simplify execute_tuning mmc: renesas_sdhi: Use BITS_PER_LONG helper ...

Linus Torvalds committed 6 years ago

Commit dfabb072 parents 5b67fbf 92075d956 files · +1825 −570Browse files

Showing the changes to include/linux (6 of 56 files). Show all

Unified · Split

6 files
  1. include/linux/firmware/xlnx-zynqmp.h +8 −1
  2. include/linux/mmc/core.h +0 −3
  3. include/linux/mmc/host.h +6 −1
  4. include/linux/mmc/mmc.h +10 −0
  5. include/linux/mmc/sdio_func.h +1 −1
  6. include/linux/platform_data/mmc-esdhc-imx.h +1 −0
include/linux/firmware/xlnx-zynqmp.h+8−1
@@ -100,7 +100,8 @@ enum pm_ret_status { · 99 unmodified lines
100};100};
101 101
102enum pm_ioctl_id {102enum pm_ioctl_id {
103 IOCTL_SET_SD_TAPDELAY = 7,103 IOCTL_SD_DLL_RESET = 6,
104 IOCTL_SET_SD_TAPDELAY,
104 IOCTL_SET_PLL_FRAC_MODE,105 IOCTL_SET_PLL_FRAC_MODE,
105 IOCTL_GET_PLL_FRAC_MODE,106 IOCTL_GET_PLL_FRAC_MODE,
106 IOCTL_SET_PLL_FRAC_DATA,107 IOCTL_SET_PLL_FRAC_DATA,
@@ -271,6 +272,12 @@ enum tap_delay_type { · 164 unmodified lines
271 PM_TAPDELAY_OUTPUT,272 PM_TAPDELAY_OUTPUT,
272};273};
273 274
275enum dll_reset_type {
276 PM_DLL_RESET_ASSERT,
277 PM_DLL_RESET_RELEASE,
278 PM_DLL_RESET_PULSE,
279};
280
274/**281/**
275 * struct zynqmp_pm_query_data - PM query data282 * struct zynqmp_pm_query_data - PM query data
276 * @qid: query ID283 * @qid: query ID
include/linux/mmc/core.h+0−3
@@ -107,9 +107,6 @@ struct mmc_command { · 106 unmodified lines
107 */107 */
108 108
109 unsigned int busy_timeout; /* busy detect timeout in ms */109 unsigned int busy_timeout; /* busy detect timeout in ms */
110 /* Set this flag only for blocking sanitize request */
111 bool sanitize_busy;
112
113 struct mmc_data *data; /* data segment associated with cmd */110 struct mmc_data *data; /* data segment associated with cmd */
114 struct mmc_request *mrq; /* associated request */111 struct mmc_request *mrq; /* associated request */
115};112};
include/linux/mmc/host.h+6−1
@@ -322,6 +322,8 @@ struct mmc_host { · 321 unmodified lines
322#define MMC_CAP_3_3V_DDR (1 << 11) /* Host supports eMMC DDR 3.3V */322#define MMC_CAP_3_3V_DDR (1 << 11) /* Host supports eMMC DDR 3.3V */
323#define MMC_CAP_1_8V_DDR (1 << 12) /* Host supports eMMC DDR 1.8V */323#define MMC_CAP_1_8V_DDR (1 << 12) /* Host supports eMMC DDR 1.8V */
324#define MMC_CAP_1_2V_DDR (1 << 13) /* Host supports eMMC DDR 1.2V */324#define MMC_CAP_1_2V_DDR (1 << 13) /* Host supports eMMC DDR 1.2V */
325#define MMC_CAP_DDR (MMC_CAP_3_3V_DDR | MMC_CAP_1_8V_DDR | \
326 MMC_CAP_1_2V_DDR)
325#define MMC_CAP_POWER_OFF_CARD (1 << 14) /* Can power off after boot */327#define MMC_CAP_POWER_OFF_CARD (1 << 14) /* Can power off after boot */
326#define MMC_CAP_BUS_WIDTH_TEST (1 << 15) /* CMD14/CMD19 bus width ok */328#define MMC_CAP_BUS_WIDTH_TEST (1 << 15) /* CMD14/CMD19 bus width ok */
327#define MMC_CAP_UHS_SDR12 (1 << 16) /* Host supports UHS SDR12 mode */329#define MMC_CAP_UHS_SDR12 (1 << 16) /* Host supports UHS SDR12 mode */
@@ -463,7 +465,10 @@ struct mmc_host { · 135 unmodified lines
463 bool cqe_enabled;465 bool cqe_enabled;
464 bool cqe_on;466 bool cqe_on;
465 467
466 unsigned long private[0] ____cacheline_aligned;468 /* Host Software Queue support */
469 bool hsq_enabled;
470
471 unsigned long private[] ____cacheline_aligned;
467};472};
468 473
469struct device_node;474struct device_node;
include/linux/mmc/mmc.h+10−0
@@ -161,6 +161,16 @@ static inline bool mmc_op_multi(u32 opcode) · 160 unmodified lines
161#define R1_STATE_PRG 7161#define R1_STATE_PRG 7
162#define R1_STATE_DIS 8162#define R1_STATE_DIS 8
163 163
164static inline bool mmc_ready_for_data(u32 status)
165{
166 /*
167 * Some cards mishandle the status bits, so make sure to check both the
168 * busy indication and the card state.
169 */
170 return status & R1_READY_FOR_DATA &&
171 R1_CURRENT_STATE(status) == R1_STATE_TRAN;
172}
173
164/*174/*
165 * MMC/SD in SPI mode reports R1 status always, and R2 for SEND_STATUS175 * MMC/SD in SPI mode reports R1 status always, and R2 for SEND_STATUS
166 * R1 is the low order byte; R2 is the next highest byte, when present.176 * R1 is the low order byte; R2 is the next highest byte, when present.
include/linux/mmc/sdio_func.h+1−1
@@ -25,7 +25,7 @@ struct sdio_func_tuple { · 24 unmodified lines
25 struct sdio_func_tuple *next;25 struct sdio_func_tuple *next;
26 unsigned char code;26 unsigned char code;
27 unsigned char size;27 unsigned char size;
28 unsigned char data[0];28 unsigned char data[];
29};29};
30 30
31/*31/*
include/linux/platform_data/mmc-esdhc-imx.h+1−0
@@ -37,5 +37,6 @@ struct esdhc_platform_data { · 36 unmodified lines
37 unsigned int delay_line;37 unsigned int delay_line;
38 unsigned int tuning_step; /* The delay cell steps in tuning procedure */38 unsigned int tuning_step; /* The delay cell steps in tuning procedure */
39 unsigned int tuning_start_tap; /* The start delay cell point in tuning procedure */39 unsigned int tuning_start_tap; /* The start delay cell point in tuning procedure */
40 unsigned int strobe_dll_delay_target; /* The delay cell for strobe pad (read clock) */
40};41};
41#endif /* __ASM_ARCH_IMX_ESDHC_H */42#endif /* __ASM_ARCH_IMX_ESDHC_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t