From: Eric Joyner <eric.joyner@amd.com>
To: <netdev@vger.kernel.org>
Cc: Brett Creeley <brett.creeley@amd.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Eric Joyner <eric.joyner@amd.com>
Subject: [PATCH net-next v2 2/5] ionic: Get "link_down_count" ext link stat from firmware
Date: Tue, 5 May 2026 21:35:22 -0700 [thread overview]
Message-ID: <20260506043526.64301-3-eric.joyner@amd.com> (raw)
In-Reply-To: <20260506043526.64301-1-eric.joyner@amd.com>
The number of times that link has gone down at the port level is tracked
by the firmware and sent to the driver via regular DMA writes to an
instance of struct ionic_port_status in the driver's memory.
This statistic was never reported in favor of a driver-derived stat, but
doing it in the driver was never necessary since firmware had been
reporting it the whole time. Since it would be more accurate and true to
the description of the statistic to get this count at the PHY level,
replace the driver-calculated statistic with the firmware one and remove
the driver-calculated one entirely.
Signed-off-by: Eric Joyner <eric.joyner@amd.com>
---
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c | 3 ++-
drivers/net/ethernet/pensando/ionic/ionic_lif.c | 1 -
drivers/net/ethernet/pensando/ionic/ionic_lif.h | 1 -
3 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
index 78a802eb159f..af0c4cc8ad8e 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
@@ -117,7 +117,8 @@ static void ionic_get_link_ext_stats(struct net_device *netdev,
struct ionic_lif *lif = netdev_priv(netdev);
if (lif->ionic->pdev->is_physfn)
- stats->link_down_events = lif->link_down_count;
+ stats->link_down_events =
+ lif->ionic->idev.port_info->status.link_down_count;
}
static int ionic_get_link_ksettings(struct net_device *netdev,
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index 637e635bbf03..eb7e552bc12e 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -179,7 +179,6 @@ static void ionic_link_status_check(struct ionic_lif *lif)
}
} else {
if (netif_carrier_ok(netdev)) {
- lif->link_down_count++;
netdev_info(netdev, "Link down\n");
netif_carrier_off(netdev);
}
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.h b/drivers/net/ethernet/pensando/ionic/ionic_lif.h
index 8e10f66dc50e..d34692462036 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.h
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.h
@@ -214,7 +214,6 @@ struct ionic_lif {
bool registered;
bool doorbell_wa;
u16 lif_type;
- unsigned int link_down_count;
unsigned int nmcast;
unsigned int nucast;
unsigned int nvlans;
--
2.17.1
next prev parent reply other threads:[~2026-05-06 4:35 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-06 4:35 [PATCH net-next v2 0/5] Expose more port stats to ethtool Eric Joyner
2026-05-06 4:35 ` [PATCH net-next v2 1/5] ionic: Small improvements in devcmd retry logic Eric Joyner
2026-05-08 22:55 ` Jakub Kicinski
2026-05-06 4:35 ` Eric Joyner [this message]
2026-05-08 22:54 ` [PATCH net-next v2 2/5] ionic: Get "link_down_count" ext link stat from firmware Jakub Kicinski
2026-05-08 22:55 ` Jakub Kicinski
2026-05-06 4:35 ` [PATCH net-next v2 3/5] ionic: Update ionic_if.h with new extra port stats structure Eric Joyner
2026-05-06 4:35 ` [PATCH net-next v2 4/5] ionic: Report rx_bits_phy stat to ethtool Eric Joyner
2026-05-06 4:35 ` [PATCH net-next v2 5/5] ionic: Add .get_fec_stats ethtool handler Eric Joyner
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=20260506043526.64301-3-eric.joyner@amd.com \
--to=eric.joyner@amd.com \
--cc=andrew+netdev@lunn.ch \
--cc=brett.creeley@amd.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox