devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
@ 2023-01-26 14:03 Heiner Kallweit
  2023-01-26 15:06 ` Vyacheslav Bocharov
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Heiner Kallweit @ 2023-01-26 14:03 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

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: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
Reported-by: Peter Suti <peter.suti@streamunlimited.com>
Tested-by: Peter Suti <peter.suti@streamunlimited.com>
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
v2:
- apply the fix also to meson-axg
- apply the fix to all host controller instances
---
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 4 ++--
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi         | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index ed895fb32..a6a3095de 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -1886,7 +1886,7 @@ apb: bus@ffe00000 {
 			sd_emmc_b: mmc@5000 {
 				compatible = "amlogic,meson-axg-mmc";
 				reg = <0x0 0x5000 0x0 0x800>;
-				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 				clocks = <&clkc CLKID_SD_EMMC_B>,
 					<&clkc CLKID_SD_EMMC_B_CLK0>,
@@ -1898,7 +1898,7 @@ sd_emmc_b: mmc@5000 {
 			sd_emmc_c: mmc@7000 {
 				compatible = "amlogic,meson-axg-mmc";
 				reg = <0x0 0x7000 0x0 0x800>;
-				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
+				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
 				status = "disabled";
 				clocks = <&clkc CLKID_SD_EMMC_C>,
 					<&clkc CLKID_SD_EMMC_C_CLK0>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 6d7272b2c..13fdaba21 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
 		sd_emmc_a: mmc@ffe03000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe03000 0x0 0x800>;
-			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_A>,
 				 <&clkc CLKID_SD_EMMC_A_CLK0>,
@@ -2336,7 +2336,7 @@ sd_emmc_a: mmc@ffe03000 {
 		sd_emmc_b: mmc@ffe05000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe05000 0x0 0x800>;
-			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_B>,
 				 <&clkc CLKID_SD_EMMC_B_CLK0>,
@@ -2348,7 +2348,7 @@ sd_emmc_b: mmc@ffe05000 {
 		sd_emmc_c: mmc@ffe07000 {
 			compatible = "amlogic,meson-axg-mmc";
 			reg = <0x0 0xffe07000 0x0 0x800>;
-			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
 			status = "disabled";
 			clocks = <&clkc CLKID_SD_EMMC_C>,
 				 <&clkc CLKID_SD_EMMC_C_CLK0>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index e3c12e0be..5eed15035 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -603,21 +603,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";
 			};
 		};
-- 
2.39.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
@ 2023-01-26 15:06 ` Vyacheslav Bocharov
  2023-01-27  7:59 ` Neil Armstrong
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 15+ messages in thread
From: Vyacheslav Bocharov @ 2023-01-26 15:06 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski,
	Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

Tested 6.1/6.2rc3 on axg (JetHub D1/D1+).



On 26/01/2023 17.03, Heiner Kallweit wrote:
> 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: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> Reported-by: Peter Suti <peter.suti@streamunlimited.com>
> Tested-by: Peter Suti <peter.suti@streamunlimited.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
> v2:
> - apply the fix also to meson-axg
> - apply the fix to all host controller instances
> ---
>   arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 4 ++--
>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
>   arch/arm64/boot/dts/amlogic/meson-gx.dtsi         | 6 +++---
>   3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index ed895fb32..a6a3095de 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -1886,7 +1886,7 @@ apb: bus@ffe00000 {
>   			sd_emmc_b: mmc@5000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x5000 0x0 0x800>;
> -				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_B>,
>   					<&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -1898,7 +1898,7 @@ sd_emmc_b: mmc@5000 {
>   			sd_emmc_c: mmc@7000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x7000 0x0 0x800>;
> -				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_C>,
>   					<&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> index 6d7272b2c..13fdaba21 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> @@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
>   		sd_emmc_a: mmc@ffe03000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe03000 0x0 0x800>;
> -			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_A>,
>   				 <&clkc CLKID_SD_EMMC_A_CLK0>,
> @@ -2336,7 +2336,7 @@ sd_emmc_a: mmc@ffe03000 {
>   		sd_emmc_b: mmc@ffe05000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe05000 0x0 0x800>;
> -			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_B>,
>   				 <&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -2348,7 +2348,7 @@ sd_emmc_b: mmc@ffe05000 {
>   		sd_emmc_c: mmc@ffe07000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe07000 0x0 0x800>;
> -			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_C>,
>   				 <&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index e3c12e0be..5eed15035 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -603,21 +603,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";
>   			};
>   		};

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
  2023-01-26 15:06 ` Vyacheslav Bocharov
@ 2023-01-27  7:59 ` Neil Armstrong
  2023-01-27 13:02   ` Heiner Kallweit
  2023-01-27  8:52 ` Jerome Brunet
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 15+ messages in thread
From: Neil Armstrong @ 2023-01-27  7:59 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

Hi,

On 26/01/2023 15:03, Heiner Kallweit wrote:
> 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.

Thanks, I applied it in for-next so it runs on the CI tests.

> 
> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
> 
> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")

I think we should find a better Fixes or perhaps split in 3 so it targets the
right commit adding the nodes for each family.

If the test doesn't report any breakage, I'll probably ask you that.

Neil


> Reported-by: Peter Suti <peter.suti@streamunlimited.com>
> Tested-by: Peter Suti <peter.suti@streamunlimited.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
> ---
> v2:
> - apply the fix also to meson-axg
> - apply the fix to all host controller instances
> ---
>   arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 4 ++--
>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
>   arch/arm64/boot/dts/amlogic/meson-gx.dtsi         | 6 +++---
>   3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index ed895fb32..a6a3095de 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -1886,7 +1886,7 @@ apb: bus@ffe00000 {
>   			sd_emmc_b: mmc@5000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x5000 0x0 0x800>;
> -				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_B>,
>   					<&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -1898,7 +1898,7 @@ sd_emmc_b: mmc@5000 {
>   			sd_emmc_c: mmc@7000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x7000 0x0 0x800>;
> -				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_C>,
>   					<&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> index 6d7272b2c..13fdaba21 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> @@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
>   		sd_emmc_a: mmc@ffe03000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe03000 0x0 0x800>;
> -			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_A>,
>   				 <&clkc CLKID_SD_EMMC_A_CLK0>,
> @@ -2336,7 +2336,7 @@ sd_emmc_a: mmc@ffe03000 {
>   		sd_emmc_b: mmc@ffe05000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe05000 0x0 0x800>;
> -			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_B>,
>   				 <&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -2348,7 +2348,7 @@ sd_emmc_b: mmc@ffe05000 {
>   		sd_emmc_c: mmc@ffe07000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe07000 0x0 0x800>;
> -			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_C>,
>   				 <&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index e3c12e0be..5eed15035 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -603,21 +603,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";
>   			};
>   		};


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
  2023-01-26 15:06 ` Vyacheslav Bocharov
  2023-01-27  7:59 ` Neil Armstrong
@ 2023-01-27  8:52 ` Jerome Brunet
  2023-02-04 22:17 ` Martin Blumenstingl
  2023-02-07  8:16 ` FUKAUMI Naoki
  4 siblings, 0 replies; 15+ messages in thread
From: Jerome Brunet @ 2023-01-27  8:52 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski,
	Neil Armstrong, Kevin Hilman, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...


On Thu 26 Jan 2023 at 15:03, Heiner Kallweit <hkallweit1@gmail.com> wrote:

> 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: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> Reported-by: Peter Suti <peter.suti@streamunlimited.com>
> Tested-by: Peter Suti <peter.suti@streamunlimited.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

On the vim3:
Tested-by: Jerome Brunet <jbrunet@baylibre.com>

Thanks a lot for this !

> ---
> v2:
> - apply the fix also to meson-axg
> - apply the fix to all host controller instances
> ---
>  arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 4 ++--
>  arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
>  arch/arm64/boot/dts/amlogic/meson-gx.dtsi         | 6 +++---
>  3 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index ed895fb32..a6a3095de 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -1886,7 +1886,7 @@ apb: bus@ffe00000 {
>  			sd_emmc_b: mmc@5000 {
>  				compatible = "amlogic,meson-axg-mmc";
>  				reg = <0x0 0x5000 0x0 0x800>;
> -				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
>  				status = "disabled";
>  				clocks = <&clkc CLKID_SD_EMMC_B>,
>  					<&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -1898,7 +1898,7 @@ sd_emmc_b: mmc@5000 {
>  			sd_emmc_c: mmc@7000 {
>  				compatible = "amlogic,meson-axg-mmc";
>  				reg = <0x0 0x7000 0x0 0x800>;
> -				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
>  				status = "disabled";
>  				clocks = <&clkc CLKID_SD_EMMC_C>,
>  					<&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> index 6d7272b2c..13fdaba21 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> @@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
>  		sd_emmc_a: mmc@ffe03000 {
>  			compatible = "amlogic,meson-axg-mmc";
>  			reg = <0x0 0xffe03000 0x0 0x800>;
> -			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
>  			status = "disabled";
>  			clocks = <&clkc CLKID_SD_EMMC_A>,
>  				 <&clkc CLKID_SD_EMMC_A_CLK0>,
> @@ -2336,7 +2336,7 @@ sd_emmc_a: mmc@ffe03000 {
>  		sd_emmc_b: mmc@ffe05000 {
>  			compatible = "amlogic,meson-axg-mmc";
>  			reg = <0x0 0xffe05000 0x0 0x800>;
> -			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
>  			status = "disabled";
>  			clocks = <&clkc CLKID_SD_EMMC_B>,
>  				 <&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -2348,7 +2348,7 @@ sd_emmc_b: mmc@ffe05000 {
>  		sd_emmc_c: mmc@ffe07000 {
>  			compatible = "amlogic,meson-axg-mmc";
>  			reg = <0x0 0xffe07000 0x0 0x800>;
> -			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
>  			status = "disabled";
>  			clocks = <&clkc CLKID_SD_EMMC_C>,
>  				 <&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index e3c12e0be..5eed15035 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -603,21 +603,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";
>  			};
>  		};


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-27  7:59 ` Neil Armstrong
@ 2023-01-27 13:02   ` Heiner Kallweit
  2023-01-27 15:04     ` Jerome Brunet
  2023-02-08 12:40     ` Neil Armstrong
  0 siblings, 2 replies; 15+ messages in thread
From: Heiner Kallweit @ 2023-01-27 13:02 UTC (permalink / raw)
  To: neil.armstrong, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

On 27.01.2023 08:59, Neil Armstrong wrote:
> Hi,
> 
> On 26/01/2023 15:03, Heiner Kallweit wrote:
>> 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.
> 
> Thanks, I applied it in for-next so it runs on the CI tests.
> 
>>
>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>
>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> 
> I think we should find a better Fixes or perhaps split in 3 so it targets the
> right commit adding the nodes for each family.
> 
This would be the cleanest option, right. Practically it shouldn't make
much of a difference. The chosen commit is from 2019, SDIO interrupt
support has been added just recently, and regarding MMC/SD it seems no
problems caused by edge-triggered interrupts are known.

> If the test doesn't report any breakage, I'll probably ask you that.
> 
Sure.

> Neil
> 
Heiner


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-27 13:02   ` Heiner Kallweit
@ 2023-01-27 15:04     ` Jerome Brunet
  2023-02-03  8:03       ` Da Xue
  2023-02-08 12:40     ` Neil Armstrong
  1 sibling, 1 reply; 15+ messages in thread
From: Jerome Brunet @ 2023-01-27 15:04 UTC (permalink / raw)
  To: Heiner Kallweit, neil.armstrong, Rob Herring,
	Krzysztof Kozlowski, Kevin Hilman, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...


On Fri 27 Jan 2023 at 14:02, Heiner Kallweit <hkallweit1@gmail.com> wrote:

> On 27.01.2023 08:59, Neil Armstrong wrote:
>> Hi,
>> 
>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>> 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.
>> 
>> Thanks, I applied it in for-next so it runs on the CI tests.
>> 
>>>
>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>
>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>> 
>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>> right commit adding the nodes for each family.
>> 
> This would be the cleanest option, right. Practically it shouldn't make
> much of a difference. The chosen commit is from 2019, SDIO interrupt
> support has been added just recently, and regarding MMC/SD it seems no
> problems caused by edge-triggered interrupts are known.

... Well, I wonder is this might be linked to instabilities seen with
very high speed mode (such as SDR104) and DDR modes. We have seen quite
a lot of those over the years. In any case, if it helps stabilize the
MMC on amlogic, it would be great if it can be picked up by stable.

>
>> If the test doesn't report any breakage, I'll probably ask you that.
>> 
> Sure.
>
>> Neil
>> 
> Heiner


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-27 15:04     ` Jerome Brunet
@ 2023-02-03  8:03       ` Da Xue
  2023-02-07  8:22         ` neil.armstrong
  0 siblings, 1 reply; 15+ messages in thread
From: Da Xue @ 2023-02-03  8:03 UTC (permalink / raw)
  To: Jerome Brunet
  Cc: Heiner Kallweit, neil.armstrong, Rob Herring,
	Krzysztof Kozlowski, Kevin Hilman, Martin Blumenstingl,
	devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

On Fri, Jan 27, 2023 at 10:10 AM Jerome Brunet <jbrunet@baylibre.com> wrote:
>
>
> On Fri 27 Jan 2023 at 14:02, Heiner Kallweit <hkallweit1@gmail.com> wrote:
>
> > On 27.01.2023 08:59, Neil Armstrong wrote:
> >> Hi,
> >>
> >> On 26/01/2023 15:03, Heiner Kallweit wrote:
> >>> 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.
> >>
> >> Thanks, I applied it in for-next so it runs on the CI tests.
> >>
> >>>
> >>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
> >>>
> >>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> >>
> >> I think we should find a better Fixes or perhaps split in 3 so it targets the
> >> right commit adding the nodes for each family.
> >>
> > This would be the cleanest option, right. Practically it shouldn't make
> > much of a difference. The chosen commit is from 2019, SDIO interrupt
> > support has been added just recently, and regarding MMC/SD it seems no
> > problems caused by edge-triggered interrupts are known.
>
> ... Well, I wonder is this might be linked to instabilities seen with
> very high speed mode (such as SDR104) and DDR modes. We have seen quite
> a lot of those over the years. In any case, if it helps stabilize the
> MMC on amlogic, it would be great if it can be picked up by stable.

On S905X, I'm still getting SDR104 failures with this change at both
208MHz and 150MHz so maybe not completely.

[    9.071641] mmc1: tuning execution failed: -5
[    9.579765] mmc1: tuning execution failed: -5
[    9.761580] mmc1: tuning execution failed: -5
[    9.871836] mmc1: tuning execution failed: -5

>
> >
> >> If the test doesn't report any breakage, I'll probably ask you that.
> >>
> > Sure.
> >
> >> Neil
> >>
> > Heiner
>
>
> _______________________________________________
> linux-amlogic mailing list
> linux-amlogic@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
                   ` (2 preceding siblings ...)
  2023-01-27  8:52 ` Jerome Brunet
@ 2023-02-04 22:17 ` Martin Blumenstingl
  2023-02-07  8:16 ` FUKAUMI Naoki
  4 siblings, 0 replies; 15+ messages in thread
From: Martin Blumenstingl @ 2023-02-04 22:17 UTC (permalink / raw)
  To: Heiner Kallweit
  Cc: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, devicetree, linux-arm-kernel,
	open list:ARM/Amlogic Meson...

On Thu, Jan 26, 2023 at 3:03 PM Heiner Kallweit <hkallweit1@gmail.com> wrote:
>
> 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: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> Reported-by: Peter Suti <peter.suti@streamunlimited.com>
> Tested-by: Peter Suti <peter.suti@streamunlimited.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

Thanks Heiner!
This fixes the rtw88 SDIO wifi card for me on my SM1 SoC based X96 Air
(Gbit variant) after commit 066ecde6d826 ("mmc: meson-gx: add SDIO
interrupt support")


Best regards,
Martin

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
                   ` (3 preceding siblings ...)
  2023-02-04 22:17 ` Martin Blumenstingl
@ 2023-02-07  8:16 ` FUKAUMI Naoki
  4 siblings, 0 replies; 15+ messages in thread
From: FUKAUMI Naoki @ 2023-02-07  8:16 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski,
	Neil Armstrong, Kevin Hilman, Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

hi,

On 1/26/23 23:03, Heiner Kallweit wrote:
> 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: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
> Reported-by: Peter Suti <peter.suti@streamunlimited.com>
> Tested-by: Peter Suti <peter.suti@streamunlimited.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>

this fixes wifi issue on Radxa Zero/Zero2. thank you so much!

Tested-by: FUKAUMI Naoki <naoki@radxa.com>

--
FUKAUMI Naoki

> ---
> v2:
> - apply the fix also to meson-axg
> - apply the fix to all host controller instances
> ---
>   arch/arm64/boot/dts/amlogic/meson-axg.dtsi        | 4 ++--
>   arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
>   arch/arm64/boot/dts/amlogic/meson-gx.dtsi         | 6 +++---
>   3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index ed895fb32..a6a3095de 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -1886,7 +1886,7 @@ apb: bus@ffe00000 {
>   			sd_emmc_b: mmc@5000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x5000 0x0 0x800>;
> -				interrupts = <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_B>,
>   					<&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -1898,7 +1898,7 @@ sd_emmc_b: mmc@5000 {
>   			sd_emmc_c: mmc@7000 {
>   				compatible = "amlogic,meson-axg-mmc";
>   				reg = <0x0 0x7000 0x0 0x800>;
> -				interrupts = <GIC_SPI 218 IRQ_TYPE_EDGE_RISING>;
> +				interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>;
>   				status = "disabled";
>   				clocks = <&clkc CLKID_SD_EMMC_C>,
>   					<&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> index 6d7272b2c..13fdaba21 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
> @@ -2324,7 +2324,7 @@ uart_A: serial@24000 {
>   		sd_emmc_a: mmc@ffe03000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe03000 0x0 0x800>;
> -			interrupts = <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_A>,
>   				 <&clkc CLKID_SD_EMMC_A_CLK0>,
> @@ -2336,7 +2336,7 @@ sd_emmc_a: mmc@ffe03000 {
>   		sd_emmc_b: mmc@ffe05000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe05000 0x0 0x800>;
> -			interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_B>,
>   				 <&clkc CLKID_SD_EMMC_B_CLK0>,
> @@ -2348,7 +2348,7 @@ sd_emmc_b: mmc@ffe05000 {
>   		sd_emmc_c: mmc@ffe07000 {
>   			compatible = "amlogic,meson-axg-mmc";
>   			reg = <0x0 0xffe07000 0x0 0x800>;
> -			interrupts = <GIC_SPI 191 IRQ_TYPE_EDGE_RISING>;
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
>   			status = "disabled";
>   			clocks = <&clkc CLKID_SD_EMMC_C>,
>   				 <&clkc CLKID_SD_EMMC_C_CLK0>,
> diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> index e3c12e0be..5eed15035 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
> @@ -603,21 +603,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";
>   			};
>   		};

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-03  8:03       ` Da Xue
@ 2023-02-07  8:22         ` neil.armstrong
  2023-02-07  9:18           ` Jerome Brunet
  0 siblings, 1 reply; 15+ messages in thread
From: neil.armstrong @ 2023-02-07  8:22 UTC (permalink / raw)
  To: Da Xue, Jerome Brunet
  Cc: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Martin Blumenstingl, devicetree, linux-arm-kernel,
	open list:ARM/Amlogic Meson...

On 03/02/2023 09:03, Da Xue wrote:
> On Fri, Jan 27, 2023 at 10:10 AM Jerome Brunet <jbrunet@baylibre.com> wrote:
>>
>>
>> On Fri 27 Jan 2023 at 14:02, Heiner Kallweit <hkallweit1@gmail.com> wrote:
>>
>>> On 27.01.2023 08:59, Neil Armstrong wrote:
>>>> Hi,
>>>>
>>>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>>>> 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.
>>>>
>>>> Thanks, I applied it in for-next so it runs on the CI tests.
>>>>
>>>>>
>>>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>>>
>>>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>>>>
>>>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>>>> right commit adding the nodes for each family.
>>>>
>>> This would be the cleanest option, right. Practically it shouldn't make
>>> much of a difference. The chosen commit is from 2019, SDIO interrupt
>>> support has been added just recently, and regarding MMC/SD it seems no
>>> problems caused by edge-triggered interrupts are known.
>>
>> ... Well, I wonder is this might be linked to instabilities seen with
>> very high speed mode (such as SDR104) and DDR modes. We have seen quite
>> a lot of those over the years. In any case, if it helps stabilize the
>> MMC on amlogic, it would be great if it can be picked up by stable.
> 
> On S905X, I'm still getting SDR104 failures with this change at both
> 208MHz and 150MHz so maybe not completely.
> 
> [    9.071641] mmc1: tuning execution failed: -5
> [    9.579765] mmc1: tuning execution failed: -5
> [    9.761580] mmc1: tuning execution failed: -5
> [    9.871836] mmc1: tuning execution failed: -5

Are these the same before the change ? or did those appear with the change ?

> 
>>
>>>
>>>> If the test doesn't report any breakage, I'll probably ask you that.
>>>>
>>> Sure.
>>>
>>>> Neil
>>>>
>>> Heiner
>>
>>
>> _______________________________________________
>> linux-amlogic mailing list
>> linux-amlogic@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-amlogic


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-07  8:22         ` neil.armstrong
@ 2023-02-07  9:18           ` Jerome Brunet
  0 siblings, 0 replies; 15+ messages in thread
From: Jerome Brunet @ 2023-02-07  9:18 UTC (permalink / raw)
  To: neil.armstrong, Da Xue
  Cc: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Martin Blumenstingl, devicetree, linux-arm-kernel,
	open list:ARM/Amlogic Meson...


On Tue 07 Feb 2023 at 09:22, neil.armstrong@linaro.org wrote:

> On 03/02/2023 09:03, Da Xue wrote:
>> On Fri, Jan 27, 2023 at 10:10 AM Jerome Brunet <jbrunet@baylibre.com> wrote:
>>>
>>>
>>> On Fri 27 Jan 2023 at 14:02, Heiner Kallweit <hkallweit1@gmail.com> wrote:
>>>
>>>> On 27.01.2023 08:59, Neil Armstrong wrote:
>>>>> Hi,
>>>>>
>>>>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>>>>> 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.
>>>>>
>>>>> Thanks, I applied it in for-next so it runs on the CI tests.
>>>>>
>>>>>>
>>>>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>>>>
>>>>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>>>>>
>>>>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>>>>> right commit adding the nodes for each family.
>>>>>
>>>> This would be the cleanest option, right. Practically it shouldn't make
>>>> much of a difference. The chosen commit is from 2019, SDIO interrupt
>>>> support has been added just recently, and regarding MMC/SD it seems no
>>>> problems caused by edge-triggered interrupts are known.
>>>
>>> ... Well, I wonder is this might be linked to instabilities seen with
>>> very high speed mode (such as SDR104) and DDR modes. We have seen quite
>>> a lot of those over the years. In any case, if it helps stabilize the
>>> MMC on amlogic, it would be great if it can be picked up by stable.
>> On S905X, I'm still getting SDR104 failures with this change at both
>> 208MHz and 150MHz so maybe not completely.
>> [    9.071641] mmc1: tuning execution failed: -5
>> [    9.579765] mmc1: tuning execution failed: -5
>> [    9.761580] mmc1: tuning execution failed: -5
>> [    9.871836] mmc1: tuning execution failed: -5
>
> Are these the same before the change ? or did those appear with the change ?

This is a change Da is carrying in his tree.
LePotato is limited to high speed mode @50Mhz in upstream due to
previous instabilities with the SDR modes

The error above shows a systematic failure to find a valid SDR tuning.
It is actually a lot better than an unstable success.

IMO, It's another hint that we need to look at high speed modes again with
this change.

>
>> 
>>>
>>>>
>>>>> If the test doesn't report any breakage, I'll probably ask you that.
>>>>>
>>>> Sure.
>>>>
>>>>> Neil
>>>>>
>>>> Heiner
>>>
>>>
>>> _______________________________________________
>>> linux-amlogic mailing list
>>> linux-amlogic@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-amlogic


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-01-27 13:02   ` Heiner Kallweit
  2023-01-27 15:04     ` Jerome Brunet
@ 2023-02-08 12:40     ` Neil Armstrong
  2023-02-09  6:44       ` Heiner Kallweit
  1 sibling, 1 reply; 15+ messages in thread
From: Neil Armstrong @ 2023-02-08 12:40 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

Le 27/01/2023 à 14:02, Heiner Kallweit a écrit :
> On 27.01.2023 08:59, Neil Armstrong wrote:
>> Hi,
>>
>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>> 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.
>>
>> Thanks, I applied it in for-next so it runs on the CI tests.
>>
>>>
>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>
>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>>
>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>> right commit adding the nodes for each family.
>>
> This would be the cleanest option, right. Practically it shouldn't make
> much of a difference. The chosen commit is from 2019, SDIO interrupt
> support has been added just recently, and regarding MMC/SD it seems no
> problems caused by edge-triggered interrupts are known.

I understand, but the Fixes tag must reflect what commit introduced the breakage,
so either keep a single patch but list all commits introducing the MMC, SD & SDIO nodes
on the 3 families, or split in 3 and specify the commit introducing the MMC, SD & SDIO
node on each family.

I'll prefer the later.

If the patch isn't applicable for older kernels, it doesn't matter as the stable team
will only apply the fix on a tree if it applies and builds.
If you target an older release you can submit them a patch reworked to apply
correctly if the original patch is already only Linus master tree.

And don't forget adding the Tested-by tags.

Thanks,
Neil

> 
>> If the test doesn't report any breakage, I'll probably ask you that.
>>
> Sure.
> 
>> Neil
>>
> Heiner
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-08 12:40     ` Neil Armstrong
@ 2023-02-09  6:44       ` Heiner Kallweit
  2023-02-09  8:25         ` Neil Armstrong
  0 siblings, 1 reply; 15+ messages in thread
From: Heiner Kallweit @ 2023-02-09  6:44 UTC (permalink / raw)
  To: Neil Armstrong, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

On 08.02.2023 13:40, Neil Armstrong wrote:
> Le 27/01/2023 à 14:02, Heiner Kallweit a écrit :
>> On 27.01.2023 08:59, Neil Armstrong wrote:
>>> Hi,
>>>
>>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>>> 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.
>>>
>>> Thanks, I applied it in for-next so it runs on the CI tests.
>>>
>>>>
>>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>>
>>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>>>
>>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>>> right commit adding the nodes for each family.
>>>
>> This would be the cleanest option, right. Practically it shouldn't make
>> much of a difference. The chosen commit is from 2019, SDIO interrupt
>> support has been added just recently, and regarding MMC/SD it seems no
>> problems caused by edge-triggered interrupts are known.
> 
> I understand, but the Fixes tag must reflect what commit introduced the breakage,
> so either keep a single patch but list all commits introducing the MMC, SD & SDIO nodes
> on the 3 families, or split in 3 and specify the commit introducing the MMC, SD & SDIO
> node on each family.
> 
> I'll prefer the later.
> 
> If the patch isn't applicable for older kernels, it doesn't matter as the stable team
> will only apply the fix on a tree if it applies and builds.
> If you target an older release you can submit them a patch reworked to apply
> correctly if the original patch is already only Linus master tree.
> 
Do you need a revert for the current "TEST"-annotated commit in linux-next
as part of the series?

> And don't forget adding the Tested-by tags.
> 
> Thanks,
> Neil
> 
>>
>>> If the test doesn't report any breakage, I'll probably ask you that.
>>>
>> Sure.
>>
>>> Neil
>>>
>> Heiner
>>
> 
Heiner


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-09  6:44       ` Heiner Kallweit
@ 2023-02-09  8:25         ` Neil Armstrong
  2023-02-10 13:00           ` Christian Hewitt
  0 siblings, 1 reply; 15+ messages in thread
From: Neil Armstrong @ 2023-02-09  8:25 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: devicetree, linux-arm-kernel, open list:ARM/Amlogic Meson...

On 09/02/2023 07:44, Heiner Kallweit wrote:
> On 08.02.2023 13:40, Neil Armstrong wrote:
>> Le 27/01/2023 à 14:02, Heiner Kallweit a écrit :
>>> On 27.01.2023 08:59, Neil Armstrong wrote:
>>>> Hi,
>>>>
>>>> On 26/01/2023 15:03, Heiner Kallweit wrote:
>>>>> 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.
>>>>
>>>> Thanks, I applied it in for-next so it runs on the CI tests.
>>>>
>>>>>
>>>>> [0] https://www.spinics.net/lists/linux-mmc/msg73991.html
>>>>>
>>>>> Fixes: 1499218c80c9 ("arm64: dts: move common G12A & G12B modes to meson-g12-common.dtsi")
>>>>
>>>> I think we should find a better Fixes or perhaps split in 3 so it targets the
>>>> right commit adding the nodes for each family.
>>>>
>>> This would be the cleanest option, right. Practically it shouldn't make
>>> much of a difference. The chosen commit is from 2019, SDIO interrupt
>>> support has been added just recently, and regarding MMC/SD it seems no
>>> problems caused by edge-triggered interrupts are known.
>>
>> I understand, but the Fixes tag must reflect what commit introduced the breakage,
>> so either keep a single patch but list all commits introducing the MMC, SD & SDIO nodes
>> on the 3 families, or split in 3 and specify the commit introducing the MMC, SD & SDIO
>> node on each family.
>>
>> I'll prefer the later.
>>
>> If the patch isn't applicable for older kernels, it doesn't matter as the stable team
>> will only apply the fix on a tree if it applies and builds.
>> If you target an older release you can submit them a patch reworked to apply
>> correctly if the original patch is already only Linus master tree.
>>
> Do you need a revert for the current "TEST"-annotated commit in linux-next
> as part of the series?

No need, I'll remove it from for-next.

Neil

> 
>> And don't forget adding the Tested-by tags.
>>
>> Thanks,
>> Neil
>>
>>>
>>>> If the test doesn't report any breakage, I'll probably ask you that.
>>>>
>>> Sure.
>>>
>>>> Neil
>>>>
>>> Heiner
>>>
>>
> Heiner
> 


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-09  8:25         ` Neil Armstrong
@ 2023-02-10 13:00           ` Christian Hewitt
  0 siblings, 0 replies; 15+ messages in thread
From: Christian Hewitt @ 2023-02-10 13:00 UTC (permalink / raw)
  To: neil.armstrong
  Cc: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl, devicetree, linux-arm-kernel,
	open list:ARM/Amlogic Meson...

[snip]

I’m running 6.1.11 with the SDIO interrupts patch reverted and all has been stable
on the fleet of boxes/boards I do regular testing with (GXBB, GXL, GXM, and G12B)
including a GXL/S905D box with QCA9337 SDIO module (not Broadcom):

dmesg | grep mmc:

[    0.367445] meson-gx-mmc d0072000.mmc: Got CD GPIO
[    0.367585] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[    0.438023] mmc0: new high speed SDHC card at address aaaa
[    0.439588] mmcblk0: mmc0:aaaa SL16G 14.8 GiB 
[    0.445490]  mmcblk0: p1 p2
[    0.467743] mmc1: new HS200 MMC card at address 0001
[    0.469224] mmcblk1: mmc1:0001 8GME4R 7.28 GiB 
[    0.473984] mmcblk1boot0: mmc1:0001 8GME4R 4.00 MiB 
[    0.477618] mmcblk1boot1: mmc1:0001 8GME4R 4.00 MiB 
[    0.481144] mmcblk1rpmb: mmc1:0001 8GME4R 512 KiB, chardev (242:0)
[    1.241005] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq
[    1.315526] mmc2: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[    1.325778] mmc2: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[    1.330215] mmc2: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[    1.331121] mmc2: queuing unknown CIS tuple 0x14 [] (0 bytes)
[    1.334849] mmc2: new ultra high speed SDR104 SDIO card at address 0001
[    2.151829] fsck: /dev/mmcblk0p1: 174 files, 16383/65501 clusters
[    3.027147] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled.
[   11.436461] ath10k_sdio mmc2:0001:1: qca9377 hw1.1 sdio target 0x05020001 chip_id 0x00000000 sub 0000:0000
[   11.436498] ath10k_sdio mmc2:0001:1: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
[   11.437107] ath10k_sdio mmc2:0001:1: firmware ver WLAN.TF.1.1.1-00061-QCATFSWPZ-1 api 5 features ignore-otp crc32 7746e551
[   11.637668] ath10k_sdio mmc2:0001:1: failed to fetch board data for bus=sdio,vendor=0271,device=0701,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9377/hw1.0/board-2.bin
[   11.662008] ath10k_sdio mmc2:0001:1: board_file api 1 bmi_id N/A crc32 544289f7
[   13.058331] meson-gx-mmc d0070000.mmc: unaligned sg offset 76, disabling descriptor DMA for transfer
[   13.113495] ath10k_sdio mmc2:0001:1: htt-ver 3.32 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[   13.208767] mmc2: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[   13.218831] mmc2: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[   13.223276] mmc2: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[   13.224178] mmc2: queuing unknown CIS tuple 0x14 [] (0 bytes)

I have working WiFi and the connection is stable enough for Kodi to stream 1080p
movies over SMB from a NAS several rooms away.

After the 3x patches landed this morning I’ve reverted the revert (restoring SDIO
interrupts) and run testing. I see no issues with the Broadcom based devices, but
the QCA9337 box throws mmc2 errors and I lose ath10k_sdio WiFi:

[    0.367531] meson-gx-mmc d0072000.mmc: Got CD GPIO
[    0.370721] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq
[    0.443723] mmc0: new high speed SDHC card at address aaaa
[    0.445327] mmcblk0: mmc0:aaaa SL16G 14.8 GiB 
[    0.451643]  mmcblk0: p1 p2
[    0.467863] mmc1: new HS200 MMC card at address 0001
[    0.469371] mmcblk1: mmc1:0001 8GME4R 7.28 GiB 
[    0.473818] mmcblk1boot0: mmc1:0001 8GME4R 4.00 MiB 
[    0.477483] mmcblk1boot1: mmc1:0001 8GME4R 4.00 MiB 
[    0.480965] mmcblk1rpmb: mmc1:0001 8GME4R 512 KiB, chardev (242:0)
[    1.237254] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq
[    1.311137] mmc2: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[    1.321494] mmc2: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[    1.326091] mmc2: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[    1.327011] mmc2: queuing unknown CIS tuple 0x14 [] (0 bytes)
[    1.330601] mmc2: new ultra high speed SDR104 SDIO card at address 0001
[    2.147468] fsck: /dev/mmcblk0p1: 174 files, 16383/65501 clusters
[    3.013209] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: disabled.
[   11.529545] ath10k_sdio mmc2:0001:1: qca9377 hw1.1 sdio target 0x05020001 chip_id 0x00000000 sub 0000:0000
[   11.529579] ath10k_sdio mmc2:0001:1: kconfig debug 0 debugfs 0 tracing 0 dfs 0 testmode 0
[   11.530109] ath10k_sdio mmc2:0001:1: firmware ver WLAN.TF.1.1.1-00061-QCATFSWPZ-1 api 5 features ignore-otp crc32 7746e551
[   11.709471] ath10k_sdio mmc2:0001:1: failed to fetch board data for bus=sdio,vendor=0271,device=0701,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9377/hw1.0/board-2.bin
[   11.713685] ath10k_sdio mmc2:0001:1: board_file api 1 bmi_id N/A crc32 544289f7
[   13.030691] ath10k_sdio mmc2:0001:1: ignoring unsolicited htc ep0 event
[   13.145651] ath10k_sdio mmc2:0001:1: rx underflow interrupt error
[   14.148946] ath10k_sdio mmc2:0001:1: failed to receive control response completion, polling..
[   15.172824] ath10k_sdio mmc2:0001:1: ctl_resp never came in (-110)
[   15.172854] ath10k_sdio mmc2:0001:1: failed to connect to HTC: -110
[   15.175891] ath10k_sdio mmc2:0001:1: could not init core (-110)
[   15.248722] mmc2: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[   15.258621] mmc2: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[   15.262933] mmc2: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[   15.263802] mmc2: queuing unknown CIS tuple 0x14 [] (0 bytes)
[   15.266333] ath10k_sdio mmc2:0001:1: could not probe fw (-110)

I’ve had the impression for some time that this SDIO module is less tolerant of
mmc things than the Broadcom modules, and that might be relevant. However I can
reproduce this consistently by reverting one patch (reverting the revert of the
SDIO interrupts addition).

Please let me know how I can assist with testing or diagnostics. It’s no trouble
to give remote access to the box if that would help.

Christian


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-02-10 13:05 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-26 14:03 [PATCH v2] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
2023-01-26 15:06 ` Vyacheslav Bocharov
2023-01-27  7:59 ` Neil Armstrong
2023-01-27 13:02   ` Heiner Kallweit
2023-01-27 15:04     ` Jerome Brunet
2023-02-03  8:03       ` Da Xue
2023-02-07  8:22         ` neil.armstrong
2023-02-07  9:18           ` Jerome Brunet
2023-02-08 12:40     ` Neil Armstrong
2023-02-09  6:44       ` Heiner Kallweit
2023-02-09  8:25         ` Neil Armstrong
2023-02-10 13:00           ` Christian Hewitt
2023-01-27  8:52 ` Jerome Brunet
2023-02-04 22:17 ` Martin Blumenstingl
2023-02-07  8:16 ` FUKAUMI Naoki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).