linux/drivers/net/ethernet/pensando/ionic
Eric Joyner 3277e605ac ionic: Get "link_down_count" ext link stat from firmware
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 one derived from the
firmware one and remove the driver-calculated one entirely.

The stat reported by the ethtool .get_link_ext_stats() handler is
normalized to 0 on driver load and any device resets that require the
driver to rebuild state while also handling overflows.

Signed-off-by: Eric Joyner <eric.joyner@amd.com>
Link: https://patch.msgid.link/20260614205303.48088-5-eric.joyner@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-15 18:15:08 -07:00
..
ionic_api.h net: ionic: Provide doorbell and CMB region information 2025-09-11 02:18:36 -04:00
ionic_aux.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ionic_aux.h net: ionic: Create an auxiliary device for rdma driver 2025-09-11 02:18:35 -04:00
ionic_bus_pci.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ionic_bus.h
ionic_debugfs.c ionic: Remove redundant null pointer checks in ionic_debugfs_add_qcq() 2024-09-04 16:58:37 -07:00
ionic_debugfs.h
ionic_dev.c ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_dev.h ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_devlink.c ionic: catch failure from devlink_alloc 2023-05-03 09:14:47 +01:00
ionic_devlink.h devlink: move request_firmware out of driver 2020-11-19 21:40:57 -08:00
ionic_ethtool.c ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_ethtool.h
ionic_fw.c ionic: check cmd_regs before copying in or out 2024-02-27 13:03:32 +01:00
ionic_if.h ionic: Update ionic_if.h with new extra port stats 2026-06-15 18:15:08 -07:00
ionic_lif.c ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_lif.h ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_main.c ionic: Get "link_down_count" ext link stat from firmware 2026-06-15 18:15:08 -07:00
ionic_phc.c ionic: convert to ndo_hwtstamp API 2025-10-27 18:04:36 -07:00
ionic_regs.h ionic: make spdxcheck.py happy 2020-03-21 19:53:57 -07:00
ionic_rx_filter.c ionic: Convert comma to semicolon 2024-09-06 18:06:27 -07:00
ionic_rx_filter.h ionic: Remove unused declarations 2023-08-22 10:30:06 -07:00
ionic_stats.c ionic: Report "rx_bits_phy" stat to ethtool 2026-06-15 18:15:08 -07:00
ionic_stats.h ionic: Report "rx_bits_phy" stat to ethtool 2026-06-15 18:15:08 -07:00
ionic_txrx.c net: ionic: map SKB after pseudo-header checksum prep 2025-11-03 17:19:21 -08:00
ionic_txrx.h ionic: Allow XDP program to be hot swapped 2024-09-09 19:18:15 -07:00
ionic.h net: ionic: Export the APIs from net driver to support device commands 2025-09-11 02:18:35 -04:00
Makefile net: ionic: Create an auxiliary device for rdma driver 2025-09-11 02:18:35 -04:00