History

arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive

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

Heiner Kallweit committed 3 years ago

Commit d182bcf1 parent c45219c1 file · +2 −2Browse files

Unified · Split

arch/arm64/boot/dts/amlogic/meson-axg.dtsi+2−2
@@ -1886,7 +1886,7 @@ · 1885 unmodified lines
18861886 sd_emmc_b: sd@5000 {
18871887 compatible = "amlogic,meson-axg-mmc";
18881888 reg = <0x0 0x5000 0x0 0x800>;
1889− interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
1889+ interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
18901890 status = "disabled";
18911891 clocks = <&clkc CLKID_SD_EMMC_B>,
18921892 <&clkc CLKID_SD_EMMC_B_CLK0>,
@@ -1898,7 +1898,7 @@ · 5 unmodified lines
18981898 sd_emmc_c: mmc@7000 {
18991899 compatible = "amlogic,meson-axg-mmc";
19001900 reg = <0x0 0x7000 0x0 0x800>;
1901− interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
1901+ interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
19021902 status = "disabled";
19031903 clocks = <&clkc CLKID_SD_EMMC_C>,
19041904 <&clkc CLKID_SD_EMMC_C_CLK0>,