RDMA/bnxt_re: Share a page to expose per SRQ info with userspace

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

Signed-off-by: Chandramohan Akula <chandramohan.akula@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://patch.msgid.link/1724945645-14989-4-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
This commit is contained in:
Chandramohan Akula
2024-08-29 08:34:05 -07:00
committed by Leon Romanovsky
parent b4207630e0
commit 181028a0d8
5 changed files with 47 additions and 2 deletions

View File

@@ -141,8 +141,14 @@ struct bnxt_re_srq_req {
__aligned_u64 srq_handle;
};
enum bnxt_re_srq_mask {
BNXT_RE_SRQ_TOGGLE_PAGE_SUPPORT = 0x1,
};
struct bnxt_re_srq_resp {
__u32 srqid;
__u32 rsvd; /* padding */
__aligned_u64 comp_mask;
};
enum bnxt_re_shpg_offt {