Skip to content

Commit 83bfd14

Browse files
committed
Update kernel headers
To commit: e8521822c733 ("RDMA/ionic: Register device ops for control path"). Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
1 parent 5321d80 commit 83bfd14

3 files changed

Lines changed: 117 additions & 0 deletions

File tree

kernel-headers/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ publish_internal_headers(rdma
99
rdma/ib_user_mad.h
1010
rdma/ib_user_sa.h
1111
rdma/ib_user_verbs.h
12+
rdma/ionic-abi.h
1213
rdma/irdma-abi.h
1314
rdma/mana-abi.h
1415
rdma/mlx4-abi.h

kernel-headers/rdma/ib_user_ioctl_verbs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ enum rdma_driver_id {
255255
RDMA_DRIVER_SIW,
256256
RDMA_DRIVER_ERDMA,
257257
RDMA_DRIVER_MANA,
258+
RDMA_DRIVER_IONIC,
258259
};
259260

260261
enum ib_uverbs_gid_type {

kernel-headers/rdma/ionic-abi.h

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2+
/* Copyright (C) 2018-2025, Advanced Micro Devices, Inc */
3+
4+
#ifndef IONIC_ABI_H
5+
#define IONIC_ABI_H
6+
7+
#include <linux/types.h>
8+
9+
#define IONIC_ABI_VERSION 1
10+
11+
#define IONIC_EXPDB_64 1
12+
#define IONIC_EXPDB_128 2
13+
#define IONIC_EXPDB_256 4
14+
#define IONIC_EXPDB_512 8
15+
16+
#define IONIC_EXPDB_SQ 1
17+
#define IONIC_EXPDB_RQ 2
18+
19+
#define IONIC_CMB_ENABLE 1
20+
#define IONIC_CMB_REQUIRE 2
21+
#define IONIC_CMB_EXPDB 4
22+
#define IONIC_CMB_WC 8
23+
#define IONIC_CMB_UC 16
24+
25+
struct ionic_ctx_req {
26+
__u32 rsvd[2];
27+
};
28+
29+
struct ionic_ctx_resp {
30+
__u32 rsvd;
31+
__u32 page_shift;
32+
33+
__aligned_u64 dbell_offset;
34+
35+
__u16 version;
36+
__u8 qp_opcodes;
37+
__u8 admin_opcodes;
38+
39+
__u8 sq_qtype;
40+
__u8 rq_qtype;
41+
__u8 cq_qtype;
42+
__u8 admin_qtype;
43+
44+
__u8 max_stride;
45+
__u8 max_spec;
46+
__u8 udma_count;
47+
__u8 expdb_mask;
48+
__u8 expdb_qtypes;
49+
50+
__u8 rsvd2[3];
51+
};
52+
53+
struct ionic_qdesc {
54+
__aligned_u64 addr;
55+
__u32 size;
56+
__u16 mask;
57+
__u8 depth_log2;
58+
__u8 stride_log2;
59+
};
60+
61+
struct ionic_ah_resp {
62+
__u32 ahid;
63+
__u32 pad;
64+
};
65+
66+
struct ionic_cq_req {
67+
struct ionic_qdesc cq[2];
68+
__u8 udma_mask;
69+
__u8 rsvd[7];
70+
};
71+
72+
struct ionic_cq_resp {
73+
__u32 cqid[2];
74+
__u8 udma_mask;
75+
__u8 rsvd[7];
76+
};
77+
78+
struct ionic_qp_req {
79+
struct ionic_qdesc sq;
80+
struct ionic_qdesc rq;
81+
__u8 sq_spec;
82+
__u8 rq_spec;
83+
__u8 sq_cmb;
84+
__u8 rq_cmb;
85+
__u8 udma_mask;
86+
__u8 rsvd[3];
87+
};
88+
89+
struct ionic_qp_resp {
90+
__u32 qpid;
91+
__u8 sq_cmb;
92+
__u8 rq_cmb;
93+
__u8 udma_idx;
94+
__u8 rsvd[1];
95+
__aligned_u64 sq_cmb_offset;
96+
__aligned_u64 rq_cmb_offset;
97+
};
98+
99+
struct ionic_srq_req {
100+
struct ionic_qdesc rq;
101+
__u8 rq_spec;
102+
__u8 rq_cmb;
103+
__u8 udma_mask;
104+
__u8 rsvd[5];
105+
};
106+
107+
struct ionic_srq_resp {
108+
__u32 qpid;
109+
__u8 rq_cmb;
110+
__u8 udma_idx;
111+
__u8 rsvd[2];
112+
__aligned_u64 rq_cmb_offset;
113+
};
114+
115+
#endif /* IONIC_ABI_H */

0 commit comments

Comments
 (0)