2020-03-25 18:13:20

by Martin Fuzzey

[permalink] [raw]
Subject: [PATCH v2 2/4] ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN.

In order to wake from suspend by ethernet magic packets the GPC
must be used as intc does not have wakeup functionality.

But the FEC DT node currently uses interrupt-extended,
specificying intc, thus breaking WoL.

This problem is probably fallout from the stacked domain conversion
as intc used to chain to GPC.

So replace "interrupts-extended" by "interrupts" to use the default
parent which is GPC.

Fixes: b923ff6af0d5 ("ARM: imx6: convert GPC to stacked domains")

Signed-off-by: Martin Fuzzey <[email protected]>
---
arch/arm/boot/dts/imx6qdl.dtsi | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index e6b4b85..bc488df 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1039,9 +1039,8 @@
compatible = "fsl,imx6q-fec";
reg = <0x02188000 0x4000>;
interrupt-names = "int0", "pps";
- interrupts-extended =
- <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
- <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>,
+ <0 119 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET_REF>;
--
1.9.1


2020-03-26 07:47:39

by Andy Duan

[permalink] [raw]
Subject: RE: [EXT] [PATCH v2 2/4] ARM: dts: imx6: Use gpc for FEC interrupt controller to fix wake on LAN.

From: Martin Fuzzey <[email protected]> Sent: Thursday, March 26, 2020 2:12 AM
> In order to wake from suspend by ethernet magic packets the GPC must be
> used as intc does not have wakeup functionality.
>
> But the FEC DT node currently uses interrupt-extended, specificying intc, thus
> breaking WoL.
>
> This problem is probably fallout from the stacked domain conversion as intc
> used to chain to GPC.
>
> So replace "interrupts-extended" by "interrupts" to use the default parent
> which is GPC.
>
> Fixes: b923ff6af0d5 ("ARM: imx6: convert GPC to stacked domains")
>
> Signed-off-by: Martin Fuzzey <[email protected]>
> ---
> arch/arm/boot/dts/imx6qdl.dtsi | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index e6b4b85..bc488df 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -1039,9 +1039,8 @@
> compatible = "fsl,imx6q-fec";
> reg = <0x02188000 0x4000>;
> interrupt-names = "int0", "pps";
> - interrupts-extended =
> - <&intc 0 118
> IRQ_TYPE_LEVEL_HIGH>,
> - <&intc 0 119
> IRQ_TYPE_LEVEL_HIGH>;
> + interrupts = <0 118
> IRQ_TYPE_LEVEL_HIGH>,
> + <0 119
> + IRQ_TYPE_LEVEL_HIGH>;

Please remove the property "/delete-property/interrupts-extended;" in below file:
arch/arm/boot/dts/imx6qp.dtsi
> clocks = <&clks
> IMX6QDL_CLK_ENET>,
> <&clks
> IMX6QDL_CLK_ENET>,
> <&clks
> IMX6QDL_CLK_ENET_REF>;
> --
> 1.9.1