From: Greg Kroah-Hartman Date: Mon, 6 Nov 2023 11:33:47 +0000 (+0100) Subject: 5.4-stable patches X-Git-Tag: v4.14.329~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7ea4130b6654d91a03f580d742280a39948636de;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch --- 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 index 00000000000..e12249acce5 --- /dev/null +++ b/queue-5.4/revert-arm-dts-move-am33xx-and-am43xx-mmc-nodes-to-sdhci-omap-driver.patch @@ -0,0 +1,313 @@ +From matthias.schiffer@ew.tq-group.com Mon Nov 6 12:27:45 2023 +From: Matthias Schiffer +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 , stable@vger.kernel.org +Cc: "Faiz Abbas" , "BenoƮt Cousson" , "Tony Lindgren" , "Rob Herring" , "Mark Rutland" , linux-omap@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, "Matthias Schiffer" +Message-ID: <20231106095048.8396-1-matthias.schiffer@ew.tq-group.com> + +From: Matthias Schiffer + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 = ; + 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>; diff --git a/queue-5.4/series b/queue-5.4/series index be51cb44476..082fb8c5667 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -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