]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Nov 2023 11:33:47 +0000 (12:33 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 6 Nov 2023 11:33:47 +0000 (12:33 +0100)
added patches:
revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch

queue-5.4/revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch [new file with mode: 0644]
queue-5.4/series

diff --git a/queue-5.4/revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch b/queue-5.4/revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch
new file mode 100644 (file)
index 0000000..e12249a
--- /dev/null
@@ -0,0 +1,313 @@
+From matthias.schiffer@ew.tq-group.com  Mon Nov  6 12:27:45 2023
+From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
+Date: Mon,  6 Nov 2023 10:50:48 +0100
+Subject: [PATCH 5.4] Revert "ARM: dts: Move am33xx and am43xx mmc nodes to sdhci-omap driver"
+To: Sasha Levin <sashal@kernel.org>, stable@vger.kernel.org
+Cc: "Faiz Abbas" <faiz_abbas@ti.com>, "BenoĆ®t Cousson" <bcousson@baylibre.com>, "Tony Lindgren" <tony@atomide.com>, "Rob Herring" <robh+dt@kernel.org>, "Mark Rutland" <mark.rutland@arm.com>, linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, "Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>
+Message-ID: <20231106095048.8396-1-matthias.schiffer@ew.tq-group.com>
+
+From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
+
+This reverts commit d0c69c722ff16ce2481a5e0932c6d5b172109f21 which is
+commit 0b4edf111870b83ea77b1d7e16b8ceac29f9f388 upstream.
+
+The reverted commit completely breaks MMC on the AM33xx/AM437x for
+multiple reasons:
+
+- The changed compatible strings ti,am335-sdhci and ti,am437-sdhci
+  aren't supported on Linux 5.4 at all, so no driver is found
+- Even when additionally backporting the support for these compatible
+  strings in the sdhci-omap driver, I could not the the MMC interfaces
+  to work on our TQMa335x SoM - the interface would time out during card
+  initialization for both an eMMC and an SD card.
+
+I did not investigate the cause of the timeouts further, and instead
+just reverted the commit - switching to a different MMC driver in a stable
+kernel seems like a rather risky change unless it's thoroughly tested,
+which has obviously not happened in this case.
+
+The reverted commit is also given as a Stable-dep-of commit 2eb502f496f7
+("ARM: dts: am33xx: Fix MMCHS0 dma properties"), however the conflict
+resulting when only the one commit is reverted is trivial to resolve,
+which leads to working MMC controllers again.
+
+Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/boot/dts/am335x-baltos.dtsi              |    2 +-
+ arch/arm/boot/dts/am335x-boneblack-common.dtsi    |    1 -
+ arch/arm/boot/dts/am335x-boneblack-wireless.dts   |    1 +
+ arch/arm/boot/dts/am335x-boneblue.dts             |    1 +
+ arch/arm/boot/dts/am335x-bonegreen-wireless.dts   |    1 +
+ arch/arm/boot/dts/am335x-evm.dts                  |    3 ++-
+ arch/arm/boot/dts/am335x-evmsk.dts                |    2 +-
+ arch/arm/boot/dts/am335x-lxm.dts                  |    2 +-
+ arch/arm/boot/dts/am335x-moxa-uc-2100-common.dtsi |    2 +-
+ arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts    |    2 +-
+ arch/arm/boot/dts/am335x-pepper.dts               |    4 ++--
+ arch/arm/boot/dts/am335x-phycore-som.dtsi         |    2 +-
+ arch/arm/boot/dts/am33xx-l4.dtsi                  |    6 ++++--
+ arch/arm/boot/dts/am33xx.dtsi                     |    3 +--
+ arch/arm/boot/dts/am4372.dtsi                     |    3 +--
+ arch/arm/boot/dts/am437x-cm-t43.dts               |    2 +-
+ arch/arm/boot/dts/am437x-gp-evm.dts               |    4 ++--
+ arch/arm/boot/dts/am437x-l4.dtsi                  |    5 +++--
+ arch/arm/boot/dts/am437x-sk-evm.dts               |    2 +-
+ 19 files changed, 26 insertions(+), 22 deletions(-)
+
+--- a/arch/arm/boot/dts/am335x-baltos.dtsi
++++ b/arch/arm/boot/dts/am335x-baltos.dtsi
+@@ -381,7 +381,7 @@
+ &mmc2 {
+       status = "okay";
+       vmmc-supply = <&wl12xx_vmmc>;
+-      non-removable;
++      ti,non-removable;
+       bus-width = <4>;
+       cap-power-off-card;
+       pinctrl-names = "default";
+--- a/arch/arm/boot/dts/am335x-boneblack-common.dtsi
++++ b/arch/arm/boot/dts/am335x-boneblack-common.dtsi
+@@ -22,7 +22,6 @@
+       pinctrl-0 = <&emmc_pins>;
+       bus-width = <8>;
+       status = "okay";
+-      non-removable;
+ };
+ &am33xx_pinmux {
+--- a/arch/arm/boot/dts/am335x-boneblack-wireless.dts
++++ b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
+@@ -75,6 +75,7 @@
+       bus-width = <4>;
+       non-removable;
+       cap-power-off-card;
++      ti,needs-special-hs-handling;
+       keep-power-in-suspend;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
+--- a/arch/arm/boot/dts/am335x-boneblue.dts
++++ b/arch/arm/boot/dts/am335x-boneblue.dts
+@@ -389,6 +389,7 @@
+       bus-width = <4>;
+       non-removable;
+       cap-power-off-card;
++      ti,needs-special-hs-handling;
+       keep-power-in-suspend;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
+--- a/arch/arm/boot/dts/am335x-bonegreen-wireless.dts
++++ b/arch/arm/boot/dts/am335x-bonegreen-wireless.dts
+@@ -75,6 +75,7 @@
+       bus-width = <4>;
+       non-removable;
+       cap-power-off-card;
++      ti,needs-special-hs-handling;
+       keep-power-in-suspend;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
+--- a/arch/arm/boot/dts/am335x-evm.dts
++++ b/arch/arm/boot/dts/am335x-evm.dts
+@@ -782,7 +782,8 @@
+       bus-width = <4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc3_pins &wlan_pins>;
+-      non-removable;
++      ti,non-removable;
++      ti,needs-special-hs-handling;
+       cap-power-off-card;
+       keep-power-in-suspend;
+--- a/arch/arm/boot/dts/am335x-evmsk.dts
++++ b/arch/arm/boot/dts/am335x-evmsk.dts
+@@ -700,7 +700,7 @@
+ &mmc2 {
+       status = "okay";
+       vmmc-supply = <&wl12xx_vmmc>;
+-      non-removable;
++      ti,non-removable;
+       bus-width = <4>;
+       cap-power-off-card;
+       keep-power-in-suspend;
+--- a/arch/arm/boot/dts/am335x-lxm.dts
++++ b/arch/arm/boot/dts/am335x-lxm.dts
+@@ -361,7 +361,7 @@
+       pinctrl-0 = <&emmc_pins>;
+       vmmc-supply = <&vmmcsd_fixed>;
+       bus-width = <8>;
+-      non-removable;
++      ti,non-removable;
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/am335x-moxa-uc-2100-common.dtsi
++++ b/arch/arm/boot/dts/am335x-moxa-uc-2100-common.dtsi
+@@ -176,7 +176,7 @@
+       vmmc-supply = <&vmmcsd_fixed>;
+       bus-width = <8>;
+       pinctrl-0 = <&mmc1_pins_default>;
+-      non-removable;
++      ti,non-removable;
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts
++++ b/arch/arm/boot/dts/am335x-moxa-uc-8100-me-t.dts
+@@ -473,7 +473,7 @@
+       vmmc-supply = <&vmmcsd_fixed>;
+       bus-width = <8>;
+       pinctrl-0 = <&mmc2_pins_default>;
+-      non-removable;
++      ti,non-removable;
+       status = "okay";
+ };
+--- a/arch/arm/boot/dts/am335x-pepper.dts
++++ b/arch/arm/boot/dts/am335x-pepper.dts
+@@ -341,7 +341,7 @@
+       pinctrl-0 = <&emmc_pins>;
+       vmmc-supply = <&ldo3_reg>;
+       bus-width = <8>;
+-      non-removable;
++      ti,non-removable;
+ };
+ &mmc3 {
+@@ -351,7 +351,7 @@
+       pinctrl-0 = <&wireless_pins>;
+       vmmmc-supply = <&v3v3c_reg>;
+       bus-width = <4>;
+-      non-removable;
++      ti,non-removable;
+       dmas = <&edma_xbar 12 0 1
+               &edma_xbar 13 0 2>;
+       dma-names = "tx", "rx";
+--- a/arch/arm/boot/dts/am335x-phycore-som.dtsi
++++ b/arch/arm/boot/dts/am335x-phycore-som.dtsi
+@@ -69,7 +69,7 @@
+       pinctrl-0 = <&emmc_pins>;
+       vmmc-supply = <&vmmc_reg>;
+       bus-width = <8>;
+-      non-removable;
++      ti,non-removable;
+       status = "disabled";
+ };
+--- a/arch/arm/boot/dts/am33xx-l4.dtsi
++++ b/arch/arm/boot/dts/am33xx-l4.dtsi
+@@ -1333,8 +1333,10 @@
+                       ranges = <0x0 0x60000 0x1000>;
+                       mmc1: mmc@0 {
+-                              compatible = "ti,am335-sdhci";
++                              compatible = "ti,omap4-hsmmc";
++                              ti,dual-volt;
+                               ti,needs-special-reset;
++                              ti,needs-special-hs-handling;
+                               dmas = <&edma 24 0>, <&edma 25 0>;
+                               dma-names = "tx", "rx";
+                               interrupts = <64>;
+@@ -1824,7 +1826,7 @@
+                       ranges = <0x0 0xd8000 0x1000>;
+                       mmc2: mmc@0 {
+-                              compatible = "ti,am335-sdhci";
++                              compatible = "ti,omap4-hsmmc";
+                               ti,needs-special-reset;
+                               dmas = <&edma 2 0
+                                       &edma 3 0>;
+--- a/arch/arm/boot/dts/am33xx.dtsi
++++ b/arch/arm/boot/dts/am33xx.dtsi
+@@ -259,11 +259,10 @@
+                       ranges = <0x0 0x47810000 0x1000>;
+                       mmc3: mmc@0 {
+-                              compatible = "ti,am335-sdhci";
++                              compatible = "ti,omap4-hsmmc";
+                               ti,needs-special-reset;
+                               interrupts = <29>;
+                               reg = <0x0 0x1000>;
+-                              status = "disabled";
+                       };
+               };
+--- a/arch/arm/boot/dts/am4372.dtsi
++++ b/arch/arm/boot/dts/am4372.dtsi
+@@ -250,11 +250,10 @@
+                       ranges = <0x0 0x47810000 0x1000>;
+                       mmc3: mmc@0 {
+-                              compatible = "ti,am437-sdhci";
++                              compatible = "ti,omap4-hsmmc";
+                               ti,needs-special-reset;
+                               interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+                               reg = <0x0 0x1000>;
+-                              status = "disabled";
+                       };
+               };
+--- a/arch/arm/boot/dts/am437x-cm-t43.dts
++++ b/arch/arm/boot/dts/am437x-cm-t43.dts
+@@ -291,7 +291,7 @@
+       pinctrl-0 = <&emmc_pins>;
+       vmmc-supply = <&vmmc_3v3>;
+       bus-width = <8>;
+-      non-removable;
++      ti,non-removable;
+ };
+ &spi0 {
+--- a/arch/arm/boot/dts/am437x-gp-evm.dts
++++ b/arch/arm/boot/dts/am437x-gp-evm.dts
+@@ -872,7 +872,7 @@
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&emmc_pins_default>;
+       pinctrl-1 = <&emmc_pins_sleep>;
+-      non-removable;
++      ti,non-removable;
+ };
+ &mmc3 {
+@@ -889,7 +889,7 @@
+       pinctrl-1 = <&mmc3_pins_sleep>;
+       cap-power-off-card;
+       keep-power-in-suspend;
+-      non-removable;
++      ti,non-removable;
+       #address-cells = <1>;
+       #size-cells = <0>;
+--- a/arch/arm/boot/dts/am437x-l4.dtsi
++++ b/arch/arm/boot/dts/am437x-l4.dtsi
+@@ -1104,8 +1104,9 @@
+                       ranges = <0x0 0x60000 0x1000>;
+                       mmc1: mmc@0 {
+-                              compatible = "ti,am437-sdhci";
++                              compatible = "ti,omap4-hsmmc";
+                               reg = <0x0 0x1000>;
++                              ti,dual-volt;
+                               ti,needs-special-reset;
+                               dmas = <&edma 24 0>,
+                                       <&edma 25 0>;
+@@ -1640,7 +1641,7 @@
+                       ranges = <0x0 0xd8000 0x1000>;
+                       mmc2: mmc@0 {
+-                              compatible = "ti,am437-sdhci";
++                              compatible = "ti,omap4-hsmmc";
+                               reg = <0x0 0x1000>;
+                               ti,needs-special-reset;
+                               dmas = <&edma 2 0>,
+--- a/arch/arm/boot/dts/am437x-sk-evm.dts
++++ b/arch/arm/boot/dts/am437x-sk-evm.dts
+@@ -694,7 +694,7 @@
+       pinctrl-1 = <&mmc3_pins_sleep>;
+       cap-power-off-card;
+       keep-power-in-suspend;
+-      non-removable;
++      ti,non-removable;
+       #address-cells = <1>;
+       #size-cells = <0>;
index be51cb44476de2f2e8796059229a232de9d41e78..082fb8c5667dbadde4f9cd8f3d29f074d48d3cd6 100644 (file)
@@ -65,3 +65,4 @@ ata-ahci-fix-enum-constants-for-gcc-13.patch
 remove-the-sx8-block-driver.patch
 nvmet-tcp-move-send-recv-error-handling-in-the-send-recv-methods-instead-of-call-sites.patch
 nvmet-tcp-fix-a-possible-uaf-in-queue-intialization-setup.patch
+revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch