devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
@ 2023-02-09 20:09 Heiner Kallweit
  2023-02-09 20:10 ` [PATCH 1/3] arm64: dts: meson-axg: " Heiner Kallweit
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Heiner Kallweit @ 2023-02-09 20:09 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: open list:ARM/Amlogic Meson..., devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Nan Li, Vyacheslav Bocharov

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

This series replaces the prior "TEST"-annotated patch.

Heiner Kallweit (3):
  arm64: dts: meson-axg: Make mmc host controller interrupts
    level-sensitive
  arm64: dts: meson-g12-common: Make mmc host controller interrupts
    level-sensitive
  arm64: dts: meson-gx: Make mmc host controller interrupts
    level-sensitive

 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(-)

-- 
2.39.1


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

* [PATCH 1/3] arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
  2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
@ 2023-02-09 20:10 ` Heiner Kallweit
  2023-02-09 20:11 ` [PATCH 2/3] arm64: dts: meson-g12-common: " Heiner Kallweit
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Heiner Kallweit @ 2023-02-09 20:10 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: open list:ARM/Amlogic Meson..., devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Nan Li, Vyacheslav Bocharov

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: 221cf34bac54 ("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>
---
 arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index 1648e67af..417523dc4 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: sd@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: sd@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>,
-- 
2.39.1



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

* [PATCH 2/3] arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
  2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
  2023-02-09 20:10 ` [PATCH 1/3] arm64: dts: meson-axg: " Heiner Kallweit
@ 2023-02-09 20:11 ` Heiner Kallweit
  2023-02-09 20:11 ` [PATCH 3/3] arm64: dts: meson-gx: " Heiner Kallweit
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Heiner Kallweit @ 2023-02-09 20:11 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: open list:ARM/Amlogic Meson..., devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Nan Li, Vyacheslav Bocharov

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: 4759fd87b928 ("arm64: dts: meson: g12a: add mmc nodes")
Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Jerome Brunet <jbrunet@baylibre.com>
Cc: stable@vger.kernel.org
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 585dd70f6..767412d3a 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: sd@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: sd@ffe03000 {
 		sd_emmc_b: sd@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: sd@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>,
-- 
2.39.1



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

* [PATCH 3/3] arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
  2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
  2023-02-09 20:10 ` [PATCH 1/3] arm64: dts: meson-axg: " Heiner Kallweit
  2023-02-09 20:11 ` [PATCH 2/3] arm64: dts: meson-g12-common: " Heiner Kallweit
@ 2023-02-09 20:11 ` Heiner Kallweit
  2023-02-10  7:59 ` [PATCH 0/3] arm64: dts: amlogic: " Neil Armstrong
  2023-02-10  8:05 ` Neil Armstrong
  4 siblings, 0 replies; 6+ messages in thread
From: Heiner Kallweit @ 2023-02-09 20:11 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: open list:ARM/Amlogic Meson..., devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Nan Li, Vyacheslav Bocharov

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>
---
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

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] 6+ messages in thread

* Re: [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
                   ` (2 preceding siblings ...)
  2023-02-09 20:11 ` [PATCH 3/3] arm64: dts: meson-gx: " Heiner Kallweit
@ 2023-02-10  7:59 ` Neil Armstrong
  2023-02-10  8:05 ` Neil Armstrong
  4 siblings, 0 replies; 6+ messages in thread
From: Neil Armstrong @ 2023-02-10  7:59 UTC (permalink / raw)
  To: Heiner Kallweit, Rob Herring, Krzysztof Kozlowski, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl
  Cc: open list:ARM/Amlogic Meson..., devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, Nan Li, Vyacheslav Bocharov

On 09/02/2023 21:09, 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
> 
> This series replaces the prior "TEST"-annotated patch.
> 
> Heiner Kallweit (3):
>    arm64: dts: meson-axg: Make mmc host controller interrupts
>      level-sensitive
>    arm64: dts: meson-g12-common: Make mmc host controller interrupts
>      level-sensitive
>    arm64: dts: meson-gx: Make mmc host controller interrupts
>      level-sensitive
> 
>   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(-)
> 

For whole serie:
Acked-by: Neil Armstrong <neil.armstrong@linaro.org>

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

* Re: [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive
  2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
                   ` (3 preceding siblings ...)
  2023-02-10  7:59 ` [PATCH 0/3] arm64: dts: amlogic: " Neil Armstrong
@ 2023-02-10  8:05 ` Neil Armstrong
  4 siblings, 0 replies; 6+ messages in thread
From: Neil Armstrong @ 2023-02-10  8:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, Heiner Kallweit
  Cc: open list:ARM/Amlogic Meson..., devicetree, linux-arm-kernel,
	Nan Li, Vyacheslav Bocharov

Hi,

On Thu, 09 Feb 2023 21:09:25 +0100, 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
> 
> [...]

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.2/fixes)

[1/3] arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive
      https://git.kernel.org/amlogic/c/d182bcf300772d8b2e5f43e47fa0ebda2b767cc4
[2/3] arm64: dts: meson-g12-common: Make mmc host controller interrupts level-sensitive
      https://git.kernel.org/amlogic/c/ac8db4cceed218cca21c84f9d75ce88182d8b04f
[3/3] arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive
      https://git.kernel.org/amlogic/c/66e45351f7d6798751f98001d1fcd572024d87f0

These changes has been applied on the intermediate git tree [1].

The v6.2/fixes branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.

In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].

The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.

If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

-- 
Neil


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

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

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-09 20:09 [PATCH 0/3] arm64: dts: amlogic: Make mmc host controller interrupts level-sensitive Heiner Kallweit
2023-02-09 20:10 ` [PATCH 1/3] arm64: dts: meson-axg: " Heiner Kallweit
2023-02-09 20:11 ` [PATCH 2/3] arm64: dts: meson-g12-common: " Heiner Kallweit
2023-02-09 20:11 ` [PATCH 3/3] arm64: dts: meson-gx: " Heiner Kallweit
2023-02-10  7:59 ` [PATCH 0/3] arm64: dts: amlogic: " Neil Armstrong
2023-02-10  8:05 ` Neil Armstrong

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).