Commit ac8db4cc authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Neil Armstrong

arm64: dts: meson-g12-common: 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

Fixes: 4759fd87 ("arm64: dts: meson: g12a: add mmc nodes")
Tested-by: default avatarFUKAUMI Naoki <naoki@radxa.com>
Tested-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Acked-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/27d89baa-b8fa-baca-541b-ef17a97cde3c@gmail.comSigned-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
parent d182bcf3
...@@ -2324,7 +2324,7 @@ uart_A: serial@24000 { ...@@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
sd_emmc_a: sd@ffe03000 { sd_emmc_a: sd@ffe03000 {
compatible = "amlogic,meson-axg-mmc"; compatible = "amlogic,meson-axg-mmc";
reg = <0x0 0xffe03000 0x0 0x800>; reg = <0x0 0xffe03000 0x0 0x800>;
interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>; interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
clocks = <&clkc CLKID_SD_EMMC_A>, clocks = <&clkc CLKID_SD_EMMC_A>,
<&clkc CLKID_SD_EMMC_A_CLK0>, <&clkc CLKID_SD_EMMC_A_CLK0>,
...@@ -2336,7 +2336,7 @@ sd_emmc_a: sd@ffe03000 { ...@@ -2336,7 +2336,7 @@ sd_emmc_a: sd@ffe03000 {
sd_emmc_b: sd@ffe05000 { sd_emmc_b: sd@ffe05000 {
compatible = "amlogic,meson-axg-mmc"; compatible = "amlogic,meson-axg-mmc";
reg = <0x0 0xffe05000 0x0 0x800>; reg = <0x0 0xffe05000 0x0 0x800>;
interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>; interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
clocks = <&clkc CLKID_SD_EMMC_B>, clocks = <&clkc CLKID_SD_EMMC_B>,
<&clkc CLKID_SD_EMMC_B_CLK0>, <&clkc CLKID_SD_EMMC_B_CLK0>,
...@@ -2348,7 +2348,7 @@ sd_emmc_b: sd@ffe05000 { ...@@ -2348,7 +2348,7 @@ sd_emmc_b: sd@ffe05000 {
sd_emmc_c: mmc@ffe07000 { sd_emmc_c: mmc@ffe07000 {
compatible = "amlogic,meson-axg-mmc"; compatible = "amlogic,meson-axg-mmc";
reg = <0x0 0xffe07000 0x0 0x800>; reg = <0x0 0xffe07000 0x0 0x800>;
interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>; interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
clocks = <&clkc CLKID_SD_EMMC_C>, clocks = <&clkc CLKID_SD_EMMC_C>,
<&clkc CLKID_SD_EMMC_C_CLK0>, <&clkc CLKID_SD_EMMC_C_CLK0>,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment