|
|
Log in / Subscribe / Register

bng_en: enhancements for link, Rx/Tx, LRO/TPA & stats

From:  Bhargava Marreddy <bhargava.marreddy-AT-broadcom.com>
To:  davem-AT-davemloft.net, edumazet-AT-google.com, kuba-AT-kernel.org, pabeni-AT-redhat.com, andrew+netdev-AT-lunn.ch, horms-AT-kernel.org
Subject:  [v3, net-next 00/12] bng_en: enhancements for link, Rx/Tx, LRO/TPA & stats
Date:  Thu, 27 Nov 2025 01:19:19 +0530
Message-ID:  <20251126194931.455830-1-bhargava.marreddy@broadcom.com>
Cc:  netdev-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, michael.chan-AT-broadcom.com, pavan.chebbi-AT-broadcom.com, vsrama-krishna.nemani-AT-broadcom.com, vikas.gupta-AT-broadcom.com, Bhargava Marreddy <bhargava.marreddy-AT-broadcom.com>
Archive-link:  Article

Hi,

This series enhances the bng_en driver by adding:
1. Link query support
2. Tx support (standard + TSO)
3. Rx support (standard + LRO/TPA)
4. ethtool link set/get functionality
5. Hardware statistics reporting via ethtool S

Changes from:
v2->v3
 Addressed comments from Andrew Lunn
   - Apply Rev-xmas fix in several places.
   - Correct ethtool-speed comment to reflect accurate behavior.

 Addressed comments from ALOK TIWARI
   - Remove duplicate definition of RX_CMP_L2_ERRORS.
   - Fix macro by adding the required arguments.
   - Add newline for clarity/formatting.

 Addressed kernel test robot warning
   - Fix compilation error: removed unused variable gro

 Moved hw specific structs to appropriate header file

v1->v2
 Removed unused function bnge_alloc_rx_page()
 Removed inline keywords from couple of functions
 Removed some stats related code that doesn't applicable (missed_irqs)
 Addressed kernel test robot warning
    - Fixed compilation issue with CONFIG_INET is not set

Bhargava Marreddy (12):
  bng_en: Query PHY and report link status
  bng_en: Extend bnge_set_ring_params() for rx-copybreak
  bng_en: Add RX support
  bng_en: Handle an HWRM completion request
  bng_en: Add TX support
  bng_en: Add support to handle AGG events
  bng_en: Add TPA related functions
  bng_en: Add support for TPA events
  bng_en: Add ethtool link settings and capabilities support
  bng_en: Add initial support for ethtool stats display
  bng_en: Create per-PF workqueue and timer for asynchronous events
  bng_en: Query firmware for statistics and accumulate

 drivers/net/ethernet/broadcom/bnge/Makefile   |    4 +-
 drivers/net/ethernet/broadcom/bnge/bnge.h     |   41 +
 .../net/ethernet/broadcom/bnge/bnge_core.c    |   35 +-
 .../net/ethernet/broadcom/bnge/bnge_ethtool.c |  637 +++++++
 .../net/ethernet/broadcom/bnge/bnge_hw_def.h  |  459 +++++
 .../ethernet/broadcom/bnge/bnge_hwrm_lib.c    |  398 ++++
 .../ethernet/broadcom/bnge/bnge_hwrm_lib.h    |    9 +
 .../net/ethernet/broadcom/bnge/bnge_link.c    | 1325 ++++++++++++++
 .../net/ethernet/broadcom/bnge/bnge_link.h    |  191 ++
 .../net/ethernet/broadcom/bnge/bnge_netdev.c  |  734 +++++++-
 .../net/ethernet/broadcom/bnge/bnge_netdev.h  |  216 ++-
 .../net/ethernet/broadcom/bnge/bnge_txrx.c    | 1612 +++++++++++++++++
 .../net/ethernet/broadcom/bnge/bnge_txrx.h    |  118 ++
 13 files changed, 5729 insertions(+), 50 deletions(-)
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_hw_def.h
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_link.c
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_link.h
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_txrx.c
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_txrx.h

-- 
2.47.3




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds