History

RDMA/bnxt_re: Enable low latency push

Introduce driver specific uapi functionalites. Added a alloc_page functionality for user library to allocate specific pages. Currently added support for allocating write combine pages for push functinality. This interface shall be extended for other page allocations. Allocate a WC page using the uapi hook for enabling the low latency push in Gen P5 adapters for small packets. This is supported only for the user space QPs.

Selvin Xavier committed 3 years ago

Commit 360da601 parent 0ac20fa7 files · +204 −4Browse files

Showing the changes to include/uapi (1 of 7 files). Show all

Unified · Split

include/uapi/rdma/bnxt_re-abi.h+27−0
@@ -41,6 +41,7 @@ · 40 unmodified lines
4141 #define __BNXT_RE_UVERBS_ABI_H__
4242
4343 #include <linux/types.h>
44+#include <rdma/ib_user_ioctl_cmds.h>
4445
4546 #define BNXT_RE_ABI_VERSION 1
4647
@@ -51,6 +52,7 @@ · 4 unmodified lines
5152 enum {
5253 BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
5354 BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
55+ BNXT_RE_UCNTX_CMASK_WC_DPI_ENABLED = 0x04ULL,
5456 };
5557
5658 enum bnxt_re_wqe_mode {
@@ -127,4 +129,29 @@ enum bnxt_re_shpg_offt { · 70 unmodified lines
127129 BNXT_RE_END_RESV_OFFT = 0xFF0
128130 };
129131
132+enum bnxt_re_objects {
133+ BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
134+};
135+
136+enum bnxt_re_alloc_page_type {
137+ BNXT_RE_ALLOC_WC_PAGE = 0,
138+};
139+
140+enum bnxt_re_var_alloc_page_attrs {
141+ BNXT_RE_ALLOC_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
142+ BNXT_RE_ALLOC_PAGE_TYPE,
143+ BNXT_RE_ALLOC_PAGE_DPI,
144+ BNXT_RE_ALLOC_PAGE_MMAP_OFFSET,
145+ BNXT_RE_ALLOC_PAGE_MMAP_LENGTH,
146+};
147+
148+enum bnxt_re_alloc_page_attrs {
149+ BNXT_RE_DESTROY_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
150+};
151+
152+enum bnxt_re_alloc_page_methods {
153+ BNXT_RE_METHOD_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
154+ BNXT_RE_METHOD_DESTROY_PAGE,
155+};
156+
130157 #endif /* __BNXT_RE_UVERBS_ABI_H__*/

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t