arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
commit d182bcf300772d8b2e5f43e47fa0ebda2b767cc4 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: 221cf34bac
("ARM64: dts: meson-axg: enable the eMMC controller")
Reported-by: Peter Suti <peter.suti@streamunlimited.com>
Tested-by: Vyacheslav Bocharov <adeep@lexina.in>
Tested-by: Peter Suti <peter.suti@streamunlimited.com>
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/c00655d3-02f8-6f5f-4239-ca2412420cad@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4b97dab7cd
commit
5c86809882
@ -1705,7 +1705,7 @@
|
|||||||
sd_emmc_b: sd@5000 {
|
sd_emmc_b: sd@5000 {
|
||||||
compatible = "amlogic,meson-axg-mmc";
|
compatible = "amlogic,meson-axg-mmc";
|
||||||
reg = <0x0 0x5000 0x0 0x800>;
|
reg = <0x0 0x5000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 217 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>,
|
||||||
@ -1717,7 +1717,7 @@
|
|||||||
sd_emmc_c: mmc@7000 {
|
sd_emmc_c: mmc@7000 {
|
||||||
compatible = "amlogic,meson-axg-mmc";
|
compatible = "amlogic,meson-axg-mmc";
|
||||||
reg = <0x0 0x7000 0x0 0x800>;
|
reg = <0x0 0x7000 0x0 0x800>;
|
||||||
interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
|
interrupts = <GIC_SPI 218 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>,
|
||||||
|
Loading…
Reference in New Issue
Block a user