All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Carlo Caione <ccaione@baylibre.com>,
	Kevin Hilman <khilman@baylibre.com>,
	Sasha Levin <sashal@kernel.org>,
	devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org
Subject: [PATCH AUTOSEL 4.19 04/64] arm: dts: meson: Fix IRQ trigger type for macirq
Date: Thu, 28 Feb 2019 10:10:05 -0500	[thread overview]
Message-ID: <20190228151105.11277-4-sashal@kernel.org> (raw)
In-Reply-To: <20190228151105.11277-1-sashal@kernel.org>

From: Carlo Caione <ccaione@baylibre.com>

[ Upstream commit e35e26b26e955c53e61c154ba26b9bb15da6b858 ]

A long running stress test on a custom board shipping an AXG SoCs and a
Realtek RTL8211F PHY revealed that after a few hours the connection
speed would drop drastically, from ~1000Mbps to ~3Mbps. At the same time
the 'macirq' (eth0) IRQ would stop being triggered at all and as
consequence the GMAC IRQs never ACKed.

After a painful investigation the problem seemed to be due to a wrong
defined IRQ type for the GMAC IRQ that should be LEVEL_HIGH instead of
EDGE_RISING.

The change in the macirq IRQ type also solved another long standing
issue affecting this SoC/PHY where EEE was causing the network
connection to die after stressing it with iperf3 (even though much
sooner). It's now possible to remove the 'eee-broken-1000t' quirk as
well.

Fixes: 9c15795a4f96 ("ARM: dts: meson8b-odroidc1: ethernet support")
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm/boot/dts/meson.dtsi           | 2 +-
 arch/arm/boot/dts/meson8b-odroidc1.dts | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
index 0d9faf1a51eac..a86b890863347 100644
--- a/arch/arm/boot/dts/meson.dtsi
+++ b/arch/arm/boot/dts/meson.dtsi
@@ -263,7 +263,7 @@
 			compatible = "amlogic,meson6-dwmac", "snps,dwmac";
 			reg = <0xc9410000 0x10000
 			       0xc1108108 0x4>;
-			interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "macirq";
 			status = "disabled";
 		};
diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index ef3177d3da3dc..9e48936e2d8d7 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -125,7 +125,6 @@
 		/* Realtek RTL8211F (0x001cc916) */
 		eth_phy: ethernet-phy@0 {
 			reg = <0>;
-			eee-broken-1000t;
 			interrupt-parent = <&gpio_intc>;
 			/* GPIOH_3 */
 			interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
-- 
2.19.1


WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Sasha Levin <sashal@kernel.org>,
	Kevin Hilman <khilman@baylibre.com>,
	devicetree@vger.kernel.org, linux-amlogic@lists.infradead.org,
	Carlo Caione <ccaione@baylibre.com>
Subject: [PATCH AUTOSEL 4.19 04/64] arm: dts: meson: Fix IRQ trigger type for macirq
Date: Thu, 28 Feb 2019 10:10:05 -0500	[thread overview]
Message-ID: <20190228151105.11277-4-sashal@kernel.org> (raw)
In-Reply-To: <20190228151105.11277-1-sashal@kernel.org>

From: Carlo Caione <ccaione@baylibre.com>

[ Upstream commit e35e26b26e955c53e61c154ba26b9bb15da6b858 ]

A long running stress test on a custom board shipping an AXG SoCs and a
Realtek RTL8211F PHY revealed that after a few hours the connection
speed would drop drastically, from ~1000Mbps to ~3Mbps. At the same time
the 'macirq' (eth0) IRQ would stop being triggered at all and as
consequence the GMAC IRQs never ACKed.

After a painful investigation the problem seemed to be due to a wrong
defined IRQ type for the GMAC IRQ that should be LEVEL_HIGH instead of
EDGE_RISING.

The change in the macirq IRQ type also solved another long standing
issue affecting this SoC/PHY where EEE was causing the network
connection to die after stressing it with iperf3 (even though much
sooner). It's now possible to remove the 'eee-broken-1000t' quirk as
well.

Fixes: 9c15795a4f96 ("ARM: dts: meson8b-odroidc1: ethernet support")
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/arm/boot/dts/meson.dtsi           | 2 +-
 arch/arm/boot/dts/meson8b-odroidc1.dts | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
index 0d9faf1a51eac..a86b890863347 100644
--- a/arch/arm/boot/dts/meson.dtsi
+++ b/arch/arm/boot/dts/meson.dtsi
@@ -263,7 +263,7 @@
 			compatible = "amlogic,meson6-dwmac", "snps,dwmac";
 			reg = <0xc9410000 0x10000
 			       0xc1108108 0x4>;
-			interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
+			interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
 			interrupt-names = "macirq";
 			status = "disabled";
 		};
diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index ef3177d3da3dc..9e48936e2d8d7 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -125,7 +125,6 @@
 		/* Realtek RTL8211F (0x001cc916) */
 		eth_phy: ethernet-phy@0 {
 			reg = <0>;
-			eee-broken-1000t;
 			interrupt-parent = <&gpio_intc>;
 			/* GPIOH_3 */
 			interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
-- 
2.19.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

  parent reply	other threads:[~2019-02-28 15:27 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-28 15:10 [PATCH AUTOSEL 4.19 01/64] ARM: OMAP: dts: N950/N9: fix onenand timings Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 02/64] ARM: dts: omap4-droid4: Fix typo in cpcap IRQ flags Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 03/64] ARM: dts: sun8i: h3: Add ethernet0 alias to Beelink X2 Sasha Levin
2019-02-28 15:10 ` Sasha Levin [this message]
2019-02-28 15:10   ` [PATCH AUTOSEL 4.19 04/64] arm: dts: meson: Fix IRQ trigger type for macirq Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 05/64] ARM: dts: meson8b: odroidc1: mark the SD card detection GPIO active-low Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 06/64] ARM: dts: meson8m2: mxiii-plus: " Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 07/64] ARM: dts: imx6sx: correct backward compatible of gpt Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 08/64] arm64: dts: renesas: r8a7796: Enable DMA for SCIF2 Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 09/64] arm64: dts: renesas: r8a77965: " Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 10/64] soc: fsl: qbman: avoid race in clearing QMan interrupt Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 11/64] pinctrl: mcp23s08: spi: Fix regmap allocation for mcp23s18 Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 12/64] wlcore: sdio: Fixup power on/off sequence Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 13/64] bpftool: Fix prog dump by tag Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 14/64] bpftool: fix percpu maps updating Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 15/64] bpf: sock recvbuff must be limited by rmem_max in bpf_setsockopt() Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 16/64] ARM: pxa: ssp: unneeded to free devm_ allocated data Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 17/64] arm64: dts: add msm8996 compatible to gicv3 Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 18/64] batman-adv: release station info tidstats Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 19/64] DTS: CI20: Fix bugs in ci20's device tree Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 20/64] usb: phy: fix link errors Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 21/64] irqchip/gic-v4: Fix occasional VLPI drop Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 22/64] irqchip/gic-v3-its: Gracefully fail on LPI exhaustion Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 23/64] irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 24/64] drm/amdgpu: Add missing power attribute to APU check Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 25/64] drm/radeon: check if device is root before getting pci speed caps Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 26/64] debugfs: return error values, not NULL Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 27/64] debugfs: debugfs_lookup() should return NULL if not found Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 28/64] drm/amdgpu: Transfer fences to dmabuf importer Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 29/64] net: stmmac: Fallback to Platform Data clock in Watchdog conversion Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 30/64] net: stmmac: Send TSO packets always from Queue 0 Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 31/64] net: stmmac: Disable EEE mode earlier in XMIT callback Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 32/64] irqchip/gic-v3-its: Fix ITT_entry_size accessor Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 33/64] relay: check return of create_buf_file() properly Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 34/64] blk-mq: protect debugfs_create_files() from failures Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 35/64] bpf, selftests: fix handling of sparse CPU allocations Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10   ` sashal
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 36/64] bpf: fix lockdep false positive in percpu_freelist Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 37/64] bpf: fix potential deadlock in bpf_prog_register Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 38/64] bpf: Fix syscall's stackmap lookup potential deadlock Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 39/64] drm/sun4i: tcon: Prepare and enable TCON channel 0 clock at init Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 40/64] dmaengine: at_xdmac: Fix wrongfull report of a channel as in use Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 41/64] vsock/virtio: fix kernel panic after device hot-unplug Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 42/64] vsock/virtio: reset connected sockets on device removal Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 43/64] dmaengine: dmatest: Abort test in case of mapping error Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 44/64] selftests: netfilter: fix config fragment CONFIG_NF_TABLES_INET Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10   ` sashal
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 45/64] selftests: netfilter: add simple masq/redirect test cases Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10   ` sashal
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 46/64] netfilter: nf_nat: skip nat clash resolution for same-origin entries Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 47/64] arm64: ptdump: Don't iterate kernel page tables using PTRS_PER_PXX Sasha Levin
2019-02-28 15:18   ` Will Deacon
2019-03-11 17:16     ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 48/64] s390/qeth: release cmd buffer in error paths Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 49/64] s390/qeth: fix use-after-free in error path Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 50/64] s390/qeth: cancel close_dev work before removing a card Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 51/64] perf symbols: Filter out hidden symbols from labels Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 52/64] perf trace: Support multiple "vfs_getname" probes Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 53/64] MIPS: Loongson: Introduce and use loongson_llsc_mb() Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 54/64] MIPS: Remove function size check in get_frame_info() Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 55/64] Revert "scsi: libfc: Add WARN_ON() when deleting rports" Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 56/64] i2c: omap: Use noirq system sleep pm ops to idle device for suspend Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 57/64] drm/amdgpu: use spin_lock_irqsave to protect vm_manager.pasid_idr Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:10 ` [PATCH AUTOSEL 4.19 58/64] nvme: lock NS list changes while handling command effects Sasha Levin
2019-02-28 15:10   ` Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 59/64] nvme-pci: fix rapid add remove sequence Sasha Levin
2019-02-28 15:11   ` Sasha Levin
2019-02-28 15:16   ` Keith Busch
2019-02-28 15:16     ` Keith Busch
2019-03-11 17:21     ` Sasha Levin
2019-03-11 17:21       ` Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 60/64] fs: ratelimit __find_get_block_slow() failure message Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 61/64] qed: Fix EQ full firmware assert Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 62/64] qed: Consider TX tcs while deriving the max num_queues for PF Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 63/64] qede: Fix system crash on configuring channels Sasha Levin
2019-02-28 15:11 ` [PATCH AUTOSEL 4.19 64/64] blk-iolatency: fix IO hang due to negative inflight counter Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190228151105.11277-4-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=ccaione@baylibre.com \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.