]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken
authorMaxime Chevallier <maxime.chevallier@bootlin.com>
Fri, 22 Nov 2024 14:12:55 +0000 (15:12 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:09 +0000 (19:51 +0100)
commit0be9f9c52e2972787ce273f0441246508ee46399
treed9a04797fae9588c8eb009976eb4a242f63bc021
parentc3c572dd294d08454836e2b9c10ebeede4bd5878
net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken

[ Upstream commit 407618d66dba55e7db1278872e8be106808bbe91 ]

On DWMAC3 and later, there's a RX Watchdog interrupt that's used for
interrupt coalescing. It's known to be buggy on some platforms, and
dwmac-socfpga appears to be one of them. Changing the interrupt
coalescing from ethtool doesn't appear to have any effect here.

Without disabling RIWT (Received Interrupt Watchdog Timer, I
believe...), we observe latencies while receiving traffic that amount to
around ~0.4ms. This was discovered with NTP but can be easily reproduced
with a simple ping. Without this patch :

64 bytes from 192.168.5.2: icmp_seq=1 ttl=64 time=0.657 ms

With this patch :

64 bytes from 192.168.5.2: icmp_seq=1 ttl=64 time=0.254 ms

Fixes: 801d233b7302 ("net: stmmac: Add SOCFPGA glue driver")
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20241122141256.764578-1-maxime.chevallier@bootlin.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c