[PATCH rdma-next v6 0/4] RDMA/bnxt_re: Support direct verbs

Sriharsha Basavapatna
2025-12-24T04:36:23Z

Hi,

This patchset supports Direct Verbs in the bnxt_re driver.

This is required by vendor specific applications that need to manage
the HW resources directly and to implement the datapath in the
application.

To support this, the library and the driver are being enhanced to
provide Direct Verbs using which the application can allocate and
manage the HW resources (Queues, Doorbell etc) . The Direct Verbs
enable the application to implement the control path.

Patch#1 Move uapi methods to a separate file
Patch#2 Refactor existing bnxt_qplib_create_qp() function
Patch#3 Support dbr direct verbs
Patch#4 Support cq and qp direct verbs

Thanks,
-Harsha

******

Changes:

v6:
- Minor updates in Patch#3:
- Removed unused variables.
- Renamed & updated a uverbs method to a global.
- Minor updates in Patch#4:
- Removed unused variables, stray hunks.
v5:
- Design changes to address previous round of comments:
- Reverted changes in rdma-core (removed V4-Patch#1).
- Removed driver support for umem-reg/dereg DVs (Patch#3).
- Enhanced driver specific udata to avoid new CQ/QP ioctls (Patch#4).
- Removed additional driver functions in modify/query QP (Patch#4).
- Utilized queue-va in udata for deferred pinning (Patch#4).
v4:
- Added a new (rdma core) patch.
- Addressed code review comments in patch 5.
v3:
- Addressed code review comments in patches 1, 2 and 4.
v2:
- Fixed build warnings reported by test robot in patches 3 and 4.

v5: https://lore.kernel.org/linux-rdma/20251129165441.75274-1-sriharsha.basavapatna@broadcom.com/
v4: https://lore.kernel.org/linux-rdma/20251117061741.15752-1-sriharsha.basavapatna@broadcom.com/
v3: https://lore.kernel.org/linux-rdma/20251110145628.290296-1-sriharsha.basavapatna@broadcom.com/
v2: https://lore.kernel.org/linux-rdma/20251104072320.210596-1-sriharsha.basavapatna@broadcom.com/
v1: https://lore.kernel.org/linux-rdma/20251103105033.205586-1-sriharsha.basavapatna@broadcom.com/

******

Kalesh AP (3):
RDMA/bnxt_re: Move the UAPI methods to a dedicated file
RDMA/bnxt_re: Refactor bnxt_qplib_create_qp() function
RDMA/bnxt_re: Direct Verbs: Support DBR verbs

Sriharsha Basavapatna (1):
RDMA/bnxt_re: Direct Verbs: Support CQ and QP verbs

drivers/infiniband/hw/bnxt_re/Makefile | 2 +-
drivers/infiniband/hw/bnxt_re/bnxt_re.h | 7 +
drivers/infiniband/hw/bnxt_re/dv.c | 939 ++++++++++++++++++++++
drivers/infiniband/hw/bnxt_re/ib_verbs.c | 552 +++++--------
drivers/infiniband/hw/bnxt_re/ib_verbs.h | 21 +
drivers/infiniband/hw/bnxt_re/main.c | 1 +
drivers/infiniband/hw/bnxt_re/qplib_fp.c | 310 +++----
drivers/infiniband/hw/bnxt_re/qplib_fp.h | 10 +-
drivers/infiniband/hw/bnxt_re/qplib_res.c | 43 +
drivers/infiniband/hw/bnxt_re/qplib_res.h | 10 +
include/uapi/rdma/bnxt_re-abi.h | 45 ++
11 files changed, 1395 insertions(+), 545 deletions(-)
create mode 100644 drivers/infiniband/hw/bnxt_re/dv.c

--
2.51.2.636.ga99f379adf