From nobody Mon Apr 20 01:10:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A43FDC433EF for ; Thu, 23 Jun 2022 13:47:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231848AbiFWNrI (ORCPT ); Thu, 23 Jun 2022 09:47:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231313AbiFWNrE (ORCPT ); Thu, 23 Jun 2022 09:47:04 -0400 Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8CDCD1EAE7; Thu, 23 Jun 2022 06:47:03 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id E84009C0262; Thu, 23 Jun 2022 09:47:02 -0400 (EDT) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id RABb_y9wHRuj; Thu, 23 Jun 2022 09:47:02 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 653E99C0252; Thu, 23 Jun 2022 09:47:02 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 653E99C0252 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1655992022; bh=77EC2HiC0p5mQX598tfrPXb1DO+EkXJErKSXOCYHE5A=; h=From:To:Date:Message-Id:MIME-Version; b=tvKqbwIJ4uv7jgPlvHocP4AHFv8QnY3a2LMEA1AX93fLy7sIh7CMWzdDZZTjC9N5A IJ2nh5tORNsPqpLkeFpfXMilEpSPk//jofwwdclhRN6nhFa5+2aUO8Lw/Ui6h4lt/u YhkL3NfJP59SL8X6rOinRCgZ/obqPoWaJHh0uwregmh5JbmwBwnlTC7DW3xB9JaJU0 oMchFEC3yeK4vJCRqZQXz/CQAf9E+LvmryadoH9dMTSBt0/KxKb/I9JKvG8to7CUFG yScZwYrsr76VLr4DyJf7e5txWSM9H/yH/n3hG3DqSyDgGrodtbEYZHbrIcumkhUAQF VgQgIOeivxvwQ== X-Virus-Scanned: amavisd-new at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id wQHrj99H0-ep; Thu, 23 Jun 2022 09:47:02 -0400 (EDT) Received: from sfl-deribaucourt.rennes.sfl (lfbn-ren-1-676-174.w81-53.abo.wanadoo.fr [81.53.245.174]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 69DD59C0262; Thu, 23 Jun 2022 09:47:01 -0400 (EDT) From: Enguerrand de Ribaucourt To: andrew@lunn.ch Cc: davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux@armlinux.org.uk, hkallweit1@gmail.com, Enguerrand de Ribaucourt Subject: [PATCH v3 1/2] net: dp83822: disable false carrier interrupt Date: Thu, 23 Jun 2022 15:46:44 +0200 Message-Id: <20220623134645.1858361-2-enguerrand.de-ribaucourt@savoirfairelinux.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220623134645.1858361-1-enguerrand.de-ribaucourt@savoirfairelinux.com> References: <20220623134645.1858361-1-enguerrand.de-ribaucourt@savoirfairelinux.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" 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 Reviewed-by: Andrew Lunn Fixes: 87461f7a58ab ("net: phy: DP83822 initial driver submission") --- 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 *phyde= v) return misr_status; =20 misr_status |=3D (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); --=20 2.25.1 From nobody Mon Apr 20 01:10:52 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13A8EC43334 for ; Thu, 23 Jun 2022 13:47:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231617AbiFWNrL (ORCPT ); Thu, 23 Jun 2022 09:47:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56692 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231725AbiFWNrF (ORCPT ); Thu, 23 Jun 2022 09:47:05 -0400 Received: from mail.savoirfairelinux.com (mail.savoirfairelinux.com [208.88.110.44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9173A263; Thu, 23 Jun 2022 06:47:04 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id EFFD49C0264; Thu, 23 Jun 2022 09:47:03 -0400 (EDT) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id iq-8oC4nyEZh; Thu, 23 Jun 2022 09:47:03 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 7C9F19C0252; Thu, 23 Jun 2022 09:47:03 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.savoirfairelinux.com 7C9F19C0252 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=savoirfairelinux.com; s=DFC430D2-D198-11EC-948E-34200CB392D2; t=1655992023; bh=818XHbkmSa7Pq/rSA6mCvfYYUgYfJJaCNT/N9Ws60N4=; h=From:To:Date:Message-Id:MIME-Version; b=Irth3LPddugdaTS2nx72EoOT8lhg6pBMCpCj/1kEEgrm4WtyZnVVxPBd9G14WAUo9 dP7Jk4TeaPvlqNa1Vy07PvC5eOjIP6EE8l6K28nkxHsUvfQW5qVR2LXW3PIsjUafOE 79jtlTy3IFGeTxk2vOJnSoDwzRHug/agtvuOrD73OozUSHdarlASu0CbZA0QPrvjZA MPRjplsZMaKd9Tbz5n+c8/YLH/m+y9R++V/Sw57VE4DItrV+SUqbEekPkZS1XfZ9kC aqpmNkfPoT3tXbaeRf27fz3WhkgA+FAQ7K+eaXKR0qgdyAZ+4y5KxvFzd7UVWemM5G YZvfMsVJcdqZg== X-Virus-Scanned: amavisd-new at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YZDCfYHC0L8K; Thu, 23 Jun 2022 09:47:03 -0400 (EDT) Received: from sfl-deribaucourt.rennes.sfl (lfbn-ren-1-676-174.w81-53.abo.wanadoo.fr [81.53.245.174]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 7F34C9C0264; Thu, 23 Jun 2022 09:47:02 -0400 (EDT) From: Enguerrand de Ribaucourt To: andrew@lunn.ch Cc: davem@davemloft.net, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux@armlinux.org.uk, hkallweit1@gmail.com, Enguerrand de Ribaucourt Subject: [PATCH v3 2/2] net: dp83822: disable rx error interrupt Date: Thu, 23 Jun 2022 15:46:45 +0200 Message-Id: <20220623134645.1858361-3-enguerrand.de-ribaucourt@savoirfairelinux.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220623134645.1858361-1-enguerrand.de-ribaucourt@savoirfairelinux.com> References: <20220623134645.1858361-1-enguerrand.de-ribaucourt@savoirfairelinux.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Some RX errors, notably when disconnecting the cable, increase the RCSR register. Once half full (0x7fff), an interrupt flood is generated. I measured ~3k/s interrupts even after the RX errors transfer was stopped. Since we don't read and clear the RCSR register, we should disable this interrupt. Signed-off-by: Enguerrand de Ribaucourt Reviewed-by: Andrew Lunn Fixes: 87461f7a58ab ("net: phy: DP83822 initial driver submission") --- drivers/net/phy/dp83822.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c index 95ef507053a6..8549e0e356c9 100644 --- a/drivers/net/phy/dp83822.c +++ b/drivers/net/phy/dp83822.c @@ -229,8 +229,7 @@ static int dp83822_config_intr(struct phy_device *phyde= v) if (misr_status < 0) return misr_status; =20 - misr_status |=3D (DP83822_RX_ERR_HF_INT_EN | - DP83822_LINK_STAT_INT_EN | + misr_status |=3D (DP83822_LINK_STAT_INT_EN | DP83822_ENERGY_DET_INT_EN | DP83822_LINK_QUAL_INT_EN); =20 --=20 2.25.1