Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -747,6 +747,7 @@ add_subdirectory(librdmacm/man)
# Providers
if (HAVE_COHERENT_DMA)
add_subdirectory(providers/bnxt_re)
add_subdirectory(providers/bnxt_re/man)
add_subdirectory(providers/cxgb4) # NO SPARSE
add_subdirectory(providers/efa)
add_subdirectory(providers/efa/man)
Expand Down
36 changes: 35 additions & 1 deletion kernel-headers/rdma/bnxt_re-abi.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,12 +102,17 @@ struct bnxt_re_pd_resp {
struct bnxt_re_cq_req {
__aligned_u64 cq_va;
__aligned_u64 cq_handle;
__aligned_u64 comp_mask;
};

enum bnxt_re_cq_mask {
enum bnxt_re_resp_cq_mask {
BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT = 0x1,
};

enum bnxt_re_req_cq_mask {
BNXT_RE_CQ_FIXED_NUM_CQE_ENABLE = 0x1,
};

struct bnxt_re_cq_resp {
__u32 cqid;
__u32 tail;
Expand Down Expand Up @@ -163,6 +168,8 @@ enum bnxt_re_objects {
BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
BNXT_RE_OBJECT_NOTIFY_DRV,
BNXT_RE_OBJECT_GET_TOGGLE_MEM,
BNXT_RE_OBJECT_DBR,
BNXT_RE_OBJECT_DEFAULT_DBR,
};

enum bnxt_re_alloc_page_type {
Expand Down Expand Up @@ -231,4 +238,31 @@ struct bnxt_re_packet_pacing_caps {
struct bnxt_re_query_device_ex_resp {
struct bnxt_re_packet_pacing_caps packet_pacing_caps;
};

struct bnxt_re_db_region {
__u32 dpi;
__u32 reserved;
__aligned_u64 umdbr;
};

enum bnxt_re_obj_dbr_alloc_attrs {
BNXT_RE_ALLOC_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
BNXT_RE_ALLOC_DBR_ATTR,
BNXT_RE_ALLOC_DBR_OFFSET,
};

enum bnxt_re_obj_dbr_free_attrs {
BNXT_RE_FREE_DBR_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
};

enum bnxt_re_obj_default_dbr_attrs {
BNXT_RE_DEFAULT_DBR_ATTR = (1U << UVERBS_ID_NS_SHIFT),
};

enum bnxt_re_obj_dpi_methods {
BNXT_RE_METHOD_DBR_ALLOC = (1U << UVERBS_ID_NS_SHIFT),
BNXT_RE_METHOD_DBR_FREE,
BNXT_RE_METHOD_GET_DEFAULT_DBR,
};

#endif /* __BNXT_RE_UVERBS_ABI_H__*/
1 change: 1 addition & 0 deletions kernel-headers/rdma/ib_user_ioctl_verbs.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@

enum ib_uverbs_core_support {
IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS = 1 << 0,
IB_UVERBS_CORE_SUPPORT_ROBUST_UDATA = 1 << 1,
};

enum ib_uverbs_access_flags {
Expand Down
16 changes: 15 additions & 1 deletion providers/bnxt_re/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,20 @@
rdma_provider(bnxt_re
rdma_shared_provider(bnxt_re bnxt_re.map
1 1.1.${PACKAGE_VERSION}
db.c
main.c
memory.c
verbs.c
dv.c
)

publish_headers(infiniband
bnxt_re-hsi.h
bnxt_re_dv.h
)

rdma_pkg_config("bnxt_re" "libibverbs" "${CMAKE_THREAD_LIBS_INIT}")

if (ENABLE_LTTNG AND LTTNGUST_FOUND)
target_include_directories(bnxt_re PUBLIC ".")
target_link_libraries(bnxt_re LINK_PRIVATE LTTng::UST)
endif()
Loading
Loading