Add more functionality to BNGE
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 0/9] Add more functionality to BNGE | |
Date: | Thu, 21 Aug 2025 21:15:08 +0000 | |
Message-ID: | <20250821211517.16578-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, Bhargava Marreddy <bhargava.marreddy-AT-broadcom.com> | |
Archive-link: | Article |
Hi, This patch series adds the infrastructure to make the netdevice functional. It allocates data structures for core resources, followed by their initialisation and registration with the firmware. The core resources include the RX, TX, AGG, CMPL, and NQ rings, as well as the VNIC. RX/TX functionality will be introduced in the next patch series to keep this one at a reviewable size. Changes from: v2->v3 Addressed a comment from Jakub Kicinski: - Changed uses of atomic_t to refcount_t v1->v2 Addressed warnings and errors in the patch series. Thanks, Bhargava Marreddy (9): bng_en: Add initial support for RX and TX rings bng_en: Add initial support for CP and NQ rings bng_en: Introduce VNIC bng_en: Initialise core resources bng_en: Allocate packet buffers bng_en: Allocate stat contexts bng_en: Register rings with the firmware bng_en: Register default VNIC bng_en: Configure default VNIC drivers/net/ethernet/broadcom/Kconfig | 1 + drivers/net/ethernet/broadcom/bnge/bnge.h | 27 + .../net/ethernet/broadcom/bnge/bnge_core.c | 16 + drivers/net/ethernet/broadcom/bnge/bnge_db.h | 34 + .../ethernet/broadcom/bnge/bnge_hwrm_lib.c | 485 ++++ .../ethernet/broadcom/bnge/bnge_hwrm_lib.h | 31 + .../net/ethernet/broadcom/bnge/bnge_netdev.c | 2186 +++++++++++++++++ .../net/ethernet/broadcom/bnge/bnge_netdev.h | 253 +- .../net/ethernet/broadcom/bnge/bnge_resc.c | 4 +- .../net/ethernet/broadcom/bnge/bnge_resc.h | 1 + .../net/ethernet/broadcom/bnge/bnge_rmem.c | 58 + .../net/ethernet/broadcom/bnge/bnge_rmem.h | 14 + 12 files changed, 3106 insertions(+), 4 deletions(-) create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_db.h -- 2.47.3