Gen P7 adapters needs to share a toggle bits information received in kernel driver with the user space. User space needs this info to arm the SRQ. User space application can get this page using the UAPI routines. Library will mmap this page and get the toggle bits to be used in the next ARM Doorbell. Uses a hash list to map the SRQ structure from the SRQ ID. SRQ structure is retrieved from the hash list while the library calls the UAPI routine to get the toggle page mapping. Currently the full page is mapped per SRQ. This can be optimized to enable multiple SRQs from the same application share the same page and different offsets in the page
Showing the changes to include/uapi (1 of 5 files). Show all
Unified · Split
| @@ -141,8 +141,14 @@ struct bnxt_re_srq_req { · 140 unmodified lines | ||
| 141 | 141 | __aligned_u64 srq_handle; |
| 142 | 142 | }; |
| 143 | 143 | |
| 144 | +enum bnxt_re_srq_mask { | |
| 145 | + BNXT_RE_SRQ_TOGGLE_PAGE_SUPPORT = 0x1, | |
| 146 | +}; | |
| 147 | + | |
| 144 | 148 | struct bnxt_re_srq_resp { |
| 145 | 149 | __u32 srqid; |
| 150 | + __u32 rsvd; /* padding */ | |
| 151 | + __aligned_u64 comp_mask; | |
| 146 | 152 | }; |
| 147 | 153 | |
| 148 | 154 | enum bnxt_re_shpg_offt { |