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.
Showing the changes to include/uapi (1 of 7 files). Show all
Unified · Split
| @@ -41,6 +41,7 @@ · 40 unmodified lines | |||
| 41 | #define __BNXT_RE_UVERBS_ABI_H__ | 41 | #define __BNXT_RE_UVERBS_ABI_H__ |
| 42 | 42 | ||
| 43 | #include <linux/types.h> | 43 | #include <linux/types.h> |
| 44 | #include <rdma/ib_user_ioctl_cmds.h> | ||
| 44 | 45 | ||
| 45 | #define BNXT_RE_ABI_VERSION 1 | 46 | #define BNXT_RE_ABI_VERSION 1 |
| 46 | 47 | ||
| @@ -51,6 +52,7 @@ · 4 unmodified lines | |||
| 51 | enum { | 52 | enum { |
| 52 | BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL, | 53 | BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL, |
| 53 | BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL, | 54 | BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL, |
| 55 | BNXT_RE_UCNTX_CMASK_WC_DPI_ENABLED = 0x04ULL, | ||
| 54 | }; | 56 | }; |
| 55 | 57 | ||
| 56 | enum bnxt_re_wqe_mode { | 58 | enum bnxt_re_wqe_mode { |
| @@ -127,4 +129,29 @@ enum bnxt_re_shpg_offt { · 70 unmodified lines | |||
| 127 | BNXT_RE_END_RESV_OFFT = 0xFF0 | 129 | BNXT_RE_END_RESV_OFFT = 0xFF0 |
| 128 | }; | 130 | }; |
| 129 | 131 | ||
| 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 | |||
| 130 | #endif /* __BNXT_RE_UVERBS_ABI_H__*/ | 157 | #endif /* __BNXT_RE_UVERBS_ABI_H__*/ |