[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250829123042.44459-1-siva.kallam@broadcom.com>
Date: Fri, 29 Aug 2025 12:30:34 +0000
From: Siva Reddy Kallam <siva.kallam@...adcom.com>
To: leonro@...dia.com,
jgg@...dia.com
Cc: linux-rdma@...r.kernel.org,
netdev@...r.kernel.org,
vikas.gupta@...adcom.com,
selvin.xavier@...adcom.com,
anand.subramanian@...adcom.com,
Siva Reddy Kallam <siva.kallam@...adcom.com>
Subject: [PATCH 0/8] Introducing Broadcom BNG_RE RoCE Driver
Hi,
This patch series introduces the Next generation RoCE driver for
Broadcom’s BCM5770X chip family, which supports 50/100/200/400/800G
link speeds. The driver is built as the bng_re.ko kernel module.
To keep the series within a reviewable size (~3.5K lines of code),
this initial submission focuses on the core infrastructure and
hardware initialization, including:
1) bng_en: Auxiliary device support
2) Auxiliary device support (probe/remove)
3) Get the required resources from bng_en
4) Firmware communication mechanism
5) Allocation of ib device
6) Basic debugfs infrastructure support
7) Get the device capability (QPs, CQs, SRQs, etc.)
8) Initialize the Hardware
Support for Verbs, User library and additional features will be
built on top of this patchset. hence, they will be introduced in
the subsequent patch series.
The bng_re driver shares the roce_hsi.h file with the bnxt_re
driver, as the bng_re driver leverages the hardware communication
protocol used by the bnxt_re driver.
Thanks,
Siva
Siva Reddy Kallam (7):
RDMA/bng_re: Add Auxiliary interface
RDMA/bng_re: Register and get the resources from bnge driver
RDMA/bng_re: Allocate required memory resources for Firmware channel
RDMA/bng_re: Add infrastructure for enabling Firmware channel
RDMA/bng_re: Enable Firmware channel and query device attributes
RDMA/bng_re: Add basic debugfs infrastructure
RDMA/bng_re: Initialize the Firmware and Hardware
Vikas Gupta (1):
bng_en: Add RoCE aux device support
MAINTAINERS | 7 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/bng_re/Kconfig | 10 +
drivers/infiniband/hw/bng_re/Makefile | 8 +
drivers/infiniband/hw/bng_re/bng_debugfs.c | 39 +
drivers/infiniband/hw/bng_re/bng_debugfs.h | 12 +
drivers/infiniband/hw/bng_re/bng_dev.c | 539 ++++++++++++
drivers/infiniband/hw/bng_re/bng_fw.c | 786 ++++++++++++++++++
drivers/infiniband/hw/bng_re/bng_fw.h | 211 +++++
drivers/infiniband/hw/bng_re/bng_re.h | 86 ++
drivers/infiniband/hw/bng_re/bng_res.c | 279 +++++++
drivers/infiniband/hw/bng_re/bng_res.h | 215 +++++
drivers/infiniband/hw/bng_re/bng_sp.c | 133 +++
drivers/infiniband/hw/bng_re/bng_sp.h | 47 ++
drivers/infiniband/hw/bng_re/bng_tlv.h | 128 +++
drivers/net/ethernet/broadcom/bnge/Makefile | 3 +-
drivers/net/ethernet/broadcom/bnge/bnge.h | 10 +
.../net/ethernet/broadcom/bnge/bnge_auxr.c | 258 ++++++
.../net/ethernet/broadcom/bnge/bnge_auxr.h | 84 ++
.../net/ethernet/broadcom/bnge/bnge_core.c | 18 +-
.../net/ethernet/broadcom/bnge/bnge_hwrm.c | 40 +
.../net/ethernet/broadcom/bnge/bnge_hwrm.h | 2 +
.../net/ethernet/broadcom/bnge/bnge_resc.c | 12 +
.../net/ethernet/broadcom/bnge/bnge_resc.h | 1 +
25 files changed, 2928 insertions(+), 2 deletions(-)
create mode 100644 drivers/infiniband/hw/bng_re/Kconfig
create mode 100644 drivers/infiniband/hw/bng_re/Makefile
create mode 100644 drivers/infiniband/hw/bng_re/bng_debugfs.c
create mode 100644 drivers/infiniband/hw/bng_re/bng_debugfs.h
create mode 100644 drivers/infiniband/hw/bng_re/bng_dev.c
create mode 100644 drivers/infiniband/hw/bng_re/bng_fw.c
create mode 100644 drivers/infiniband/hw/bng_re/bng_fw.h
create mode 100644 drivers/infiniband/hw/bng_re/bng_re.h
create mode 100644 drivers/infiniband/hw/bng_re/bng_res.c
create mode 100644 drivers/infiniband/hw/bng_re/bng_res.h
create mode 100644 drivers/infiniband/hw/bng_re/bng_sp.c
create mode 100644 drivers/infiniband/hw/bng_re/bng_sp.h
create mode 100644 drivers/infiniband/hw/bng_re/bng_tlv.h
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_auxr.c
create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_auxr.h
--
2.34.1
Powered by blists - more mailing lists