public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH rdma-next v9 0/5] RDMA/bnxt_re: Support direct verbs
@ 2026-01-27 10:31 Sriharsha Basavapatna
  2026-01-27 10:31 ` [PATCH rdma-next v9 1/5] RDMA/uverbs: Support QP creation with user allocated memory Sriharsha Basavapatna
                   ` (4 more replies)
  0 siblings, 5 replies; 30+ messages in thread
From: Sriharsha Basavapatna @ 2026-01-27 10:31 UTC (permalink / raw)
  To: leon, jgg
  Cc: linux-rdma, andrew.gospodarek, selvin.xavier,
	kalesh-anakkur.purayil, Sriharsha Basavapatna

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 Uverbs support for user allocated QP mem
Patch#2 Move uapi methods to a separate file
Patch#3 Refactor existing bnxt_qplib_create_qp() function
Patch#4 Support dbr direct verbs
Patch#5 Support cq and qp direct verbs

Thanks,
-Harsha

******

Changes:

v9:
- Added a new uverbs patch (#1) in RDMA core.
  - Supports user/app allocated memory for QP.
- Updated Patch#5 (cq/qp) to utilize umem dev op.
- Updated driver ABI file (deleted dmabuf_fd/len fields).
v8:
- Patch#3:
  - Removed dpi_hash table (and lock/rcu).
  - Renamed bnxt_re_alloc_dbr_obj->bnxt_re_dbr_obj.
  - Added an atomic usecnt in dbr_obj.
- Patch#4:
  - Registered a driver specific attribute for dbr_handle.
  - Process dbr_handle during QP creation.
  - Added refcnt logic to avoid dbr deletion with active QPs.
  - Reverted dpi hash table lookup and related code.
  - Removed dpi from req_qp ABI.
  - Added ib_umem_find_best_pgsz() in umem processing.
  - Added a wrapper function for dv_cq deletion.
v7:
- Patch#3:
  - DBR_OFFSET attribute changed to PTR_OUT.
  - Added a reserved field in struct bnxt_re_dv_db_region.
  - Reordered sequence in DBR_ALLOC (hash_add -> uverbs_finalize).
  - Synchronized access to dpi hash table.
- Patch#4:
  - Changed dmabuf_fd type (u32->s32) in ABI.
  - Changed num_dma_blocks() arg from PAGE_SIZE to SZ_4K. 
  - Fixed atomic read/inc race window in bnxt_re_dv_create_qplib_cq().
  - Deleted bnxt_re_dv_init_ib_cq(). 
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.

v8: https://lore.kernel.org/linux-rdma/20260117080052.43279-1-sriharsha.basavapatna@broadcom.com/
v7: https://lore.kernel.org/linux-rdma/20260113170956.103779-1-sriharsha.basavapatna@broadcom.com/
v6: https://lore.kernel.org/linux-rdma/20251224042602.56255-1-sriharsha.basavapatna@broadcom.com/
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/

******

Jiri Pirko (1):
  RDMA/uverbs: Support QP creation with user allocated memory

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/core/device.c              |   1 +
 drivers/infiniband/core/uverbs_std_types_qp.c | 157 ++-
 drivers/infiniband/hw/bnxt_re/Makefile        |   2 +-
 drivers/infiniband/hw/bnxt_re/bnxt_re.h       |   6 +
 drivers/infiniband/hw/bnxt_re/dv.c            | 916 ++++++++++++++++++
 drivers/infiniband/hw/bnxt_re/ib_verbs.c      | 663 ++++++-------
 drivers/infiniband/hw/bnxt_re/ib_verbs.h      |  30 +
 drivers/infiniband/hw/bnxt_re/main.c          |   2 +
 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/rdma/ib_verbs.h                       |   4 +
 include/uapi/rdma/bnxt_re-abi.h               |  44 +
 include/uapi/rdma/ib_user_ioctl_cmds.h        |   8 +
 15 files changed, 1628 insertions(+), 578 deletions(-)
 create mode 100644 drivers/infiniband/hw/bnxt_re/dv.c

-- 
2.51.2.636.ga99f379adf


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2026-02-03  8:57 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-27 10:31 [PATCH rdma-next v9 0/5] RDMA/bnxt_re: Support direct verbs Sriharsha Basavapatna
2026-01-27 10:31 ` [PATCH rdma-next v9 1/5] RDMA/uverbs: Support QP creation with user allocated memory Sriharsha Basavapatna
2026-01-27 12:12   ` Jiri Pirko
2026-01-27 13:04     ` Sriharsha Basavapatna
2026-01-28 10:16       ` Jiri Pirko
2026-01-28 12:31   ` Leon Romanovsky
2026-01-27 10:31 ` [PATCH rdma-next v9 2/5] RDMA/bnxt_re: Move the UAPI methods to a dedicated file Sriharsha Basavapatna
2026-01-27 10:31 ` [PATCH rdma-next v9 3/5] RDMA/bnxt_re: Refactor bnxt_qplib_create_qp() function Sriharsha Basavapatna
2026-01-27 10:31 ` [PATCH rdma-next v9 4/5] RDMA/bnxt_re: Direct Verbs: Support DBR verbs Sriharsha Basavapatna
2026-01-27 12:30   ` Jiri Pirko
2026-01-27 14:15     ` Jason Gunthorpe
2026-01-27 15:07       ` Jiri Pirko
2026-01-27 15:56         ` Jason Gunthorpe
2026-01-28 10:04           ` Jiri Pirko
2026-01-28 15:33   ` Jason Gunthorpe
2026-01-27 10:31 ` [PATCH rdma-next v9 5/5] RDMA/bnxt_re: Direct Verbs: Support CQ and QP verbs Sriharsha Basavapatna
2026-01-28 15:32   ` Jason Gunthorpe
2026-01-28 15:51     ` Jason Gunthorpe
2026-01-28 18:03       ` Sriharsha Basavapatna
2026-01-28 19:41         ` Jason Gunthorpe
2026-01-28 16:54     ` Sriharsha Basavapatna
2026-01-28 17:57       ` Sriharsha Basavapatna
2026-01-28 19:42         ` Jason Gunthorpe
2026-02-02 14:19           ` Sriharsha Basavapatna
2026-02-02 17:48             ` Jason Gunthorpe
2026-02-03  5:05               ` Sriharsha Basavapatna
2026-02-03  8:57                 ` Jiri Pirko
2026-01-28 17:58       ` Jason Gunthorpe
2026-01-28 15:46   ` Jason Gunthorpe
2026-02-02 14:19     ` Sriharsha Basavapatna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox