]> www.infradead.org Git - users/dwmw2/linux.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)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 26 Nov 2024 10:58:12 +0000 (11:58 +0100)
commit407618d66dba55e7db1278872e8be106808bbe91
treedd5f38085954733bc54d411ecb025c3fd10fd73d
parentb032ae57d4fe2b2445e3bc190db6fcaa8c102f68
net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken

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>
drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c