Skip to content

Commit c5c06e2

Browse files
committed
Merge tag 'mmc-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC updates from Ulf Hansson: "MMC core: - Allow an invalid regulator in mmc_regulator_set_ocr() - Log about empty non-removable slots - Add helpers to enable/disable the vqmmc regulator MMC host: - mtk-sd: Add support for the mt8365 variant - renesas_sdhi: Remove support for R-Car H3 ES1.* variants - sdhci_am654: Add power management support - sdhci-cadence: Add support for eMMC hardware reset - sdhci-cadence: Add support for AMD Pensando Elba variant - sdhci-msm: Add support for the IPQ5018 variant - sdhci-msm: Add support for the QCM2290 variant - sdhci-of-arasan: Skip setting clock delay for 400KHz - sdhci-of-arasan: Add support for the Xilinx Versal Net variant - sdhci-of-arasan: Remove Intel Thunder Bay SOC support - sdhci-of-arasan: Add support to request the "gate" clock - sdhci-of-dwcmshc: Properly determine max clock on Rockchip - sdhci-of-esdhc: Fix quirk to ignore command inhibit for data - sdhci-pci-o2micro: Fix SDR50 mode timing issue MEMSTICK: - r592: Fix use-after-free bug in r592_remove due to race condition" * tag 'mmc-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (40 commits) dt-bindings: mmc: sdhci-msm: Document the IPQ5018 compatible mmc: vub300: remove unreachable code mmc: sdhci-cadence: Support mmc hardware reset mmc: sdhci-cadence: Add AMD Pensando Elba SoC support mmc: sdhci-cadence: Support device specific init during probe mmc: sdhci-cadence: Enable device specific override of writel() dt-bindings: mmc: cdns: Add AMD Pensando Elba SoC mmc: core: Remove unused macro mmc_req_rel_wr mmc: sdhci-of-arasan: Skip setting clock delay for 400KHz mmc: sdhci-of-arasan: Add support for eMMC5.1 on Xilinx Versal Net platform dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net compatible mmc: sdhci_am654: Add support for PM suspend/resume mmc: core: remove unnecessary (void*) conversions dt-bindings: mmc: fsl-imx-esdhc: ref sdhci-common.yaml mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data mmc: core: Log about empty non-removable slots dt-bindings: mmc: fujitsu: Add Socionext Synquacer mmc: sdricoh_cs: remove unused sdricoh_readw function dt-bindings: mmc: Remove bindings for Intel Thunder Bay SoC" mmc: sdhci-of-arasan: Remove Intel Thunder Bay SOC support ...
2 parents eb8322d + 22a4455 commit c5c06e2

38 files changed

Lines changed: 711 additions & 205 deletions

Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ allOf:
2727
enum:
2828
- xlnx,zynqmp-8.9a
2929
- xlnx,versal-8.9a
30+
- xlnx,versal-net-emmc
3031
then:
3132
properties:
3233
clock-output-names:
@@ -62,6 +63,10 @@ properties:
6263
description:
6364
For this device it is strongly suggested to include
6465
clock-output-names and '#clock-cells'.
66+
- const: xlnx,versal-net-emmc # Versal Net eMMC PHY
67+
description:
68+
For this device it is strongly suggested to include
69+
clock-output-names and '#clock-cells'.
6570
- items:
6671
- const: intel,lgm-sdhci-5.1-emmc # Intel LGM eMMC PHY
6772
- const: arasan,sdhci-5.1
@@ -88,12 +93,6 @@ properties:
8893
description:
8994
For this device it is strongly suggested to include
9095
arasan,soc-ctl-syscon.
91-
- items:
92-
- const: intel,thunderbay-sdhci-5.1 # Intel Thunder Bay eMMC PHY
93-
- const: arasan,sdhci-5.1
94-
description:
95-
For this device it is strongly suggested to include
96-
clock-output-names and '#clock-cells'.
9796

9897
reg:
9998
maxItems: 1
@@ -309,22 +308,3 @@ examples:
309308
<&scmi_clk KEEM_BAY_PSS_SD0>;
310309
arasan,soc-ctl-syscon = <&sd0_phy_syscon>;
311310
};
312-
313-
- |
314-
#define EMMC_XIN_CLK
315-
#define EMMC_AXI_CLK
316-
#define TBH_PSS_EMMC_RST_N
317-
mmc@80420000 {
318-
compatible = "intel,thunderbay-sdhci-5.1", "arasan,sdhci-5.1";
319-
interrupts = <GIC_SPI 714 IRQ_TYPE_LEVEL_HIGH>;
320-
reg = <0x80420000 0x400>;
321-
clocks = <&scmi_clk EMMC_XIN_CLK>,
322-
<&scmi_clk EMMC_AXI_CLK>;
323-
clock-names = "clk_xin", "clk_ahb";
324-
phys = <&emmc_phy>;
325-
phy-names = "phy_arasan";
326-
assigned-clocks = <&scmi_clk EMMC_XIN_CLK>;
327-
clock-output-names = "emmc_cardclock";
328-
resets = <&rst_pss1 TBH_PSS_EMMC_RST_N>;
329-
#clock-cells = <0x0>;
330-
};

Documentation/devicetree/bindings/mmc/cdns,sdhci.yaml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,18 @@ title: Cadence SD/SDIO/eMMC Host Controller (SD4HC)
99
maintainers:
1010
- Masahiro Yamada <yamada.masahiro@socionext.com>
1111

12-
allOf:
13-
- $ref: mmc-controller.yaml
14-
1512
properties:
1613
compatible:
1714
items:
1815
- enum:
16+
- amd,pensando-elba-sd4hc
1917
- microchip,mpfs-sd4hc
2018
- socionext,uniphier-sd4hc
2119
- const: cdns,sd4hc
2220

2321
reg:
24-
maxItems: 1
22+
minItems: 1
23+
maxItems: 2
2524

2625
interrupts:
2726
maxItems: 1
@@ -120,6 +119,26 @@ required:
120119
- interrupts
121120
- clocks
122121

122+
allOf:
123+
- $ref: mmc-controller.yaml
124+
- if:
125+
properties:
126+
compatible:
127+
contains:
128+
const: amd,pensando-elba-sd4hc
129+
then:
130+
properties:
131+
reg:
132+
items:
133+
- description: Host controller registers
134+
- description: Elba byte-lane enable register for writes
135+
required:
136+
- resets
137+
else:
138+
properties:
139+
reg:
140+
maxItems: 1
141+
123142
unevaluatedProperties: false
124143

125144
examples:

Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ maintainers:
1010
- Shawn Guo <shawnguo@kernel.org>
1111

1212
allOf:
13-
- $ref: mmc-controller.yaml
13+
- $ref: sdhci-common.yaml#
1414

1515
description: |
1616
The Enhanced Secure Digital Host Controller on Freescale i.MX family

Documentation/devicetree/bindings/mmc/fujitsu,sdhci-fujitsu.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,13 @@ allOf:
1414

1515
properties:
1616
compatible:
17-
enum:
18-
- fujitsu,mb86s70-sdhci-3.0
19-
- socionext,f-sdh30-e51-mmc
17+
oneOf:
18+
- items:
19+
- const: socionext,synquacer-sdhci
20+
- const: fujitsu,mb86s70-sdhci-3.0
21+
- enum:
22+
- fujitsu,mb86s70-sdhci-3.0
23+
- socionext,f-sdh30-e51-mmc
2024

2125
reg:
2226
maxItems: 1
@@ -29,6 +33,11 @@ properties:
2933
- const: iface
3034
- const: core
3135

36+
dma-coherent: true
37+
38+
interrupts:
39+
maxItems: 2
40+
3241
resets:
3342
maxItems: 1
3443

Documentation/devicetree/bindings/mmc/mtk-sd.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ properties:
3434
- mediatek,mt8188-mmc
3535
- mediatek,mt8192-mmc
3636
- mediatek,mt8195-mmc
37+
- mediatek,mt8365-mmc
3738
- const: mediatek,mt8183-mmc
3839

3940
reg:

Documentation/devicetree/bindings/mmc/sdhci-msm.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ properties:
3434
- const: qcom,sdhci-msm-v4 # for sdcc versions less than 5.0
3535
- items:
3636
- enum:
37+
- qcom,ipq5018-sdhci
3738
- qcom,ipq5332-sdhci
3839
- qcom,ipq9574-sdhci
40+
- qcom,qcm2290-sdhci
3941
- qcom,qcs404-sdhci
4042
- qcom,sc7180-sdhci
4143
- qcom,sc7280-sdhci

drivers/memstick/host/r592.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ static void r592_remove(struct pci_dev *pdev)
829829
/* Stop the processing thread.
830830
That ensures that we won't take any more requests */
831831
kthread_stop(dev->io_thread);
832-
832+
del_timer_sync(&dev->detect_timer);
833833
r592_enable_device(dev, false);
834834

835835
while (!error && dev->req) {

drivers/mmc/core/block.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ MODULE_ALIAS("mmc:block");
7676
#define MMC_EXTRACT_INDEX_FROM_ARG(x) ((x & 0x00FF0000) >> 16)
7777
#define MMC_EXTRACT_VALUE_FROM_ARG(x) ((x & 0x0000FF00) >> 8)
7878

79-
#define mmc_req_rel_wr(req) ((req->cmd_flags & REQ_FUA) && \
80-
(rq_data_dir(req) == WRITE))
8179
static DEFINE_MUTEX(block_mutex);
8280

8381
/*

drivers/mmc/core/core.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2257,6 +2257,11 @@ void mmc_rescan(struct work_struct *work)
22572257
break;
22582258
}
22592259

2260+
/* A non-removable card should have been detected by now. */
2261+
if (!mmc_card_is_removable(host) && !host->bus_ops)
2262+
pr_info("%s: Failed to initialize a non-removable card",
2263+
mmc_hostname(host));
2264+
22602265
/*
22612266
* Ignore the command timeout errors observed during
22622267
* the card init as those are excepted.

drivers/mmc/core/debugfs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ DEFINE_DEBUGFS_ATTRIBUTE(mmc_err_state, mmc_err_state_get, NULL, "%llu\n");
246246

247247
static int mmc_err_stats_show(struct seq_file *file, void *data)
248248
{
249-
struct mmc_host *host = (struct mmc_host *)file->private;
249+
struct mmc_host *host = file->private;
250250
const char *desc[MMC_ERR_MAX] = {
251251
[MMC_ERR_CMD_TIMEOUT] = "Command Timeout Occurred",
252252
[MMC_ERR_CMD_CRC] = "Command CRC Errors Occurred",

0 commit comments

Comments
 (0)