include/uapi/rdma/qedr-abi.h
Source file repositories/reference/linux-study-clean/include/uapi/rdma/qedr-abi.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/rdma/qedr-abi.h- Extension
.h- Size
- 4307 bytes
- Lines
- 175
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.h
Detected Declarations
struct qedr_alloc_ucontext_reqstruct qedr_alloc_ucontext_respstruct qedr_alloc_pd_ureqstruct qedr_alloc_pd_urespstruct qedr_create_cq_ureqstruct qedr_create_cq_urespstruct qedr_create_qp_ureqstruct qedr_create_qp_urespstruct qedr_create_srq_ureqstruct qedr_create_srq_urespstruct qedr_user_db_recenum qedr_alloc_ucontext_flagsenum qedr_rdma_dpm_type
Annotated Snippet
struct qedr_alloc_ucontext_req {
__u32 context_flags;
__u32 reserved;
};
#define QEDR_LDPM_MAX_SIZE (8192)
#define QEDR_EDPM_TRANS_SIZE (64)
#define QEDR_EDPM_MAX_SIZE (ROCE_REQ_MAX_INLINE_DATA_SIZE)
enum qedr_rdma_dpm_type {
QEDR_DPM_TYPE_NONE = 0,
QEDR_DPM_TYPE_ROCE_ENHANCED = 1 << 0,
QEDR_DPM_TYPE_ROCE_LEGACY = 1 << 1,
QEDR_DPM_TYPE_IWARP_LEGACY = 1 << 2,
QEDR_DPM_TYPE_ROCE_EDPM_MODE = 1 << 3,
QEDR_DPM_SIZES_SET = 1 << 4,
};
struct qedr_alloc_ucontext_resp {
__aligned_u64 db_pa;
__u32 db_size;
__u32 max_send_wr;
__u32 max_recv_wr;
__u32 max_srq_wr;
__u32 sges_per_send_wr;
__u32 sges_per_recv_wr;
__u32 sges_per_srq_wr;
__u32 max_cqes;
__u8 dpm_flags;
__u8 wids_enabled;
__u16 wid_count;
__u16 ldpm_limit_size;
__u8 edpm_trans_size;
__u8 reserved;
__u16 edpm_limit_size;
__u8 padding[6];
};
struct qedr_alloc_pd_ureq {
__aligned_u64 rsvd1;
};
struct qedr_alloc_pd_uresp {
__u32 pd_id;
__u32 reserved;
};
struct qedr_create_cq_ureq {
__aligned_u64 addr;
__aligned_u64 len;
};
struct qedr_create_cq_uresp {
__u32 db_offset;
__u16 icid;
__u16 reserved;
__aligned_u64 db_rec_addr;
};
struct qedr_create_qp_ureq {
__u32 qp_handle_hi;
__u32 qp_handle_lo;
/* SQ */
/* user space virtual address of SQ buffer */
__aligned_u64 sq_addr;
/* length of SQ buffer */
__aligned_u64 sq_len;
/* RQ */
/* user space virtual address of RQ buffer */
__aligned_u64 rq_addr;
/* length of RQ buffer */
__aligned_u64 rq_len;
};
struct qedr_create_qp_uresp {
__u32 qp_id;
__u32 atomic_supported;
/* SQ */
__u32 sq_db_offset;
__u16 sq_icid;
/* RQ */
__u32 rq_db_offset;
__u16 rq_icid;
Annotation
- Immediate include surface: `linux/types.h`.
- Detected declarations: `struct qedr_alloc_ucontext_req`, `struct qedr_alloc_ucontext_resp`, `struct qedr_alloc_pd_ureq`, `struct qedr_alloc_pd_uresp`, `struct qedr_create_cq_ureq`, `struct qedr_create_cq_uresp`, `struct qedr_create_qp_ureq`, `struct qedr_create_qp_uresp`, `struct qedr_create_srq_ureq`, `struct qedr_create_srq_uresp`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.