]> git.itanic.dy.fi Git - linux-stable/commitdiff
arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 9 Feb 2023 20:11:47 +0000 (21:11 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Feb 2023 16:22:27 +0000 (17:22 +0100)
commit 66e45351f7d6798751f98001d1fcd572024d87f0 upstream.

The usage of edge-triggered interrupts lead to lost interrupts under load,
see [0]. This was confirmed to be fixed by using level-triggered
interrupts.
The report was about SDIO. However, as the host controller is the same
for SD and MMC, apply the change to all mmc controller instances.

[0] https://www.spinics.net/lists/linux-mmc/msg73991.html

Fixes: ef8d2ffedf18 ("ARM64: dts: meson-gxbb: add MMC support")
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/76e042e0-a610-5ed5-209f-c4d7f879df44@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/boot/dts/amlogic/meson-gx.dtsi

index 47cbb0a1eb183ca0c7993f9f69337a47f7306a81..88a7db5c55a073c2a0dc77c58cb2e6fa4045d68b 100644 (file)
@@ -595,21 +595,21 @@ apb: apb@d0000000 {
                        sd_emmc_a: mmc@70000 {
                                compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
                                reg = <0x0 0x70000 0x0 0x800>;
-                               interrupts = <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>;
+                               interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
                        sd_emmc_b: mmc@72000 {
                                compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
                                reg = <0x0 0x72000 0x0 0x800>;
-                               interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
+                               interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
 
                        sd_emmc_c: mmc@74000 {
                                compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc";
                                reg = <0x0 0x74000 0x0 0x800>;
-                               interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
+                               interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
                                status = "disabled";
                        };
                };