This series introduces the RoCE driver for the Broadcom NetXtreme-E 10/25/40/50 gigabit RoCE HCAs. This driver is dependent on the bnxt_en NIC driver and is based on the bnxt_re branch in Doug's repository. bnxt_en changes required for this patch series is already available in this branch.
I am preparing a git repository with these changes as per Jason's comment and will share the details later today. v1-> v2: * The license text in each file updated to reflect Dual license. * Makefile and Kconfig changes are pushed to the last patch * Moved bnxt_re_uverbs_abi.h to include/uapi/rdma folder * Remove duplicate structure definitions from bnxt_re_hsi.h as it is available in the corresponding bnxt_en header file (bnxt_hsi.h) * Removed some unused code reported during code review. * Fixed few sparse warnings Doug, Please review and consider applying this to linux-rdma repository. Thanks, Selvin Xavier Selvin Xavier (22): bnxt_re: Add bnxt_re RoCE driver files bnxt_re: Introducing autogenerated Host Software Interface(hsi) file bnxt_re: register with the NIC driver bnxt_re: Enabling RoCE control path bnxt_re: Adding Notification Queue support bnxt_re: Support for PD, ucontext and mmap verbs bnxt_re: Support for query and modify device verbs bnxt_re: Adding support for port related verbs bnxt_re: Support for GID related verbs bnxt_re: Support for CQ verbs bnxt_re: Support for AH verbs bnxt_re: Support memory registration verbs bnxt_re: Support QP verbs bnxt_re: Support post_send verb bnxt_re: Support post_recv bnxt_re: Support poll_cq verb bnxt_re: Handling dispatching of events to IB stack bnxt_re: Support for DCB bnxt_re: Support debugfs bnxt_re: Set uverbs command mask bnxt_re: Add QP event handling bnxt_re: Add bnxt_re driver build support drivers/infiniband/Kconfig | 2 + drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bnxtre/Kconfig | 9 + drivers/infiniband/hw/bnxtre/Makefile | 6 + drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.c | 2171 +++++++++++++++ drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.h | 416 +++ drivers/infiniband/hw/bnxtre/bnxt_qplib_rcfw.c | 685 +++++ drivers/infiniband/hw/bnxtre/bnxt_qplib_rcfw.h | 218 ++ drivers/infiniband/hw/bnxtre/bnxt_qplib_res.c | 827 ++++++ drivers/infiniband/hw/bnxtre/bnxt_qplib_res.h | 223 ++ drivers/infiniband/hw/bnxtre/bnxt_qplib_sp.c | 836 ++++++ drivers/infiniband/hw/bnxtre/bnxt_qplib_sp.h | 160 ++ drivers/infiniband/hw/bnxtre/bnxt_re.h | 149 ++ drivers/infiniband/hw/bnxtre/bnxt_re_debugfs.c | 159 ++ drivers/infiniband/hw/bnxtre/bnxt_re_debugfs.h | 48 + drivers/infiniband/hw/bnxtre/bnxt_re_hsi.h | 2785 ++++++++++++++++++++ drivers/infiniband/hw/bnxtre/bnxt_re_ib_verbs.c | 3215 +++++++++++++++++++++++ drivers/infiniband/hw/bnxtre/bnxt_re_ib_verbs.h | 196 ++ drivers/infiniband/hw/bnxtre/bnxt_re_main.c | 1330 ++++++++++ include/uapi/rdma/bnxt_re_uverbs_abi.h | 86 + 20 files changed, 13522 insertions(+) create mode 100644 drivers/infiniband/hw/bnxtre/Kconfig create mode 100644 drivers/infiniband/hw/bnxtre/Makefile create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_fp.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_rcfw.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_rcfw.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_res.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_res.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_sp.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_qplib_sp.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_debugfs.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_debugfs.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_hsi.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_ib_verbs.c create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_ib_verbs.h create mode 100644 drivers/infiniband/hw/bnxtre/bnxt_re_main.c create mode 100644 include/uapi/rdma/bnxt_re_uverbs_abi.h -- 2.5.5