All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net: dp83822: disable false carrier interrupt
@ 2022-06-17 13:46 Enguerrand de Ribaucourt
  2022-06-17 17:55 ` Andrew Lunn
  0 siblings, 1 reply; 20+ messages in thread
From: Enguerrand de Ribaucourt @ 2022-06-17 13:46 UTC (permalink / raw)
  To: andrew, davem
  Cc: netdev, linux-kernel, linux, hkallweit1, Enguerrand de Ribaucourt

When unplugging an Ethernet cable, false carrier events were produced by
the PHY at a very high rate. Once the false carrier counter full, an
interrupt was triggered every few clock cycles until the cable was
replugged. This resulted in approximately 10k/s interrupts.

Since the false carrier counter (FCSCR) is never used, we can safely
disable this interrupt.

In addition to improving performance, this also solved MDIO read
timeouts I was randomly encountering with an i.MX8 fec MAC because of
the interrupt flood. The interrupt count and MDIO timeout fix were
tested on a v5.4.110 kernel.

Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com>
---
 drivers/net/phy/dp83822.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c
index e6ad3a494d32..95ef507053a6 100644
--- a/drivers/net/phy/dp83822.c
+++ b/drivers/net/phy/dp83822.c
@@ -230,7 +230,6 @@ static int dp83822_config_intr(struct phy_device *phydev)
 			return misr_status;
 
 		misr_status |= (DP83822_RX_ERR_HF_INT_EN |
-				DP83822_FALSE_CARRIER_HF_INT_EN |
 				DP83822_LINK_STAT_INT_EN |
 				DP83822_ENERGY_DET_INT_EN |
 				DP83822_LINK_QUAL_INT_EN);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread
* [PATCH v3 0/2] net: dp83822: backport fix interrupt floods
@ 2022-09-07 10:45 Enguerrand de Ribaucourt
  2022-09-07 10:45 ` [PATCH v3 1/2] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt
  0 siblings, 1 reply; 20+ messages in thread
From: Enguerrand de Ribaucourt @ 2022-09-07 10:45 UTC (permalink / raw)
  To: stable; +Cc: gregkh, andrew

This series backports the following fixes from 5.10 to 5.4.
This backport should also apply to 4.19.

A git conflict was solved involving DP83822_ANEG_COMPLETE_INT_EN which was moved
to a conditional in 5.10.

Original commit IDs:
c96614eeab663646f57f67aa591e015abd8bd0ba net: dp83822: disable false carrier interrupt
0e597e2affb90d6ea48df6890d882924acf71e19 net: dp83822: disable rx error interrupt



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

end of thread, other threads:[~2022-09-07 10:57 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-17 13:46 [PATCH] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt
2022-06-17 17:55 ` Andrew Lunn
2022-06-23  8:51   ` Enguerrand de Ribaucourt
2022-06-23  8:51   ` [PATCH 1/2] " Enguerrand de Ribaucourt
2022-06-23 12:42     ` Andrew Lunn
2022-06-23 13:16       ` Enguerrand de Ribaucourt
2022-06-23  8:51   ` [PATCH 2/2] net: dp83822: disable rx error interrupt Enguerrand de Ribaucourt
2022-06-23 13:06   ` [PATCH v2 0/2] net: dp83822: fix interrupt floods Enguerrand de Ribaucourt
2022-06-23 13:06     ` [PATCH v2 1/2] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt
2022-06-23 13:06     ` [PATCH v2 2/2] net: dp83822: disable rx error interrupt Enguerrand de Ribaucourt
2022-06-23 13:14   ` [PATCH v2 0/2] net: dp83822: fix interrupt floods Enguerrand de Ribaucourt
2022-06-23 13:14     ` [PATCH v2 1/2] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt
2022-06-23 13:14     ` [PATCH v2 2/2] net: dp83822: disable rx error interrupt Enguerrand de Ribaucourt
2022-06-23 13:46   ` [PATCH v3 0/2] net: dp83822: fix interrupt floods Enguerrand de Ribaucourt
2022-06-23 13:46     ` [PATCH v3 1/2] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt
2022-06-23 18:27       ` Andrew Lunn
2022-06-23 13:46     ` [PATCH v3 2/2] net: dp83822: disable rx error interrupt Enguerrand de Ribaucourt
2022-06-23 18:24     ` [PATCH v3 0/2] net: dp83822: fix interrupt floods Andrew Lunn
2022-06-24 23:50     ` patchwork-bot+netdevbpf
2022-09-07 10:45 [PATCH v3 0/2] net: dp83822: backport " Enguerrand de Ribaucourt
2022-09-07 10:45 ` [PATCH v3 1/2] net: dp83822: disable false carrier interrupt Enguerrand de Ribaucourt

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.