Skip to content

Commit e0cc03f

Browse files
committed
ionic: Update kernel headers
This patch updates the kernel-headers from ionic kernel driver. (kernel-headers/update script after kernel driver is merged) Co-developed-by: Andrew Boyer <[email protected]> Signed-off-by: Andrew Boyer <[email protected]> Co-developed-by: Allen Hubbe <[email protected]> Signed-off-by: Allen Hubbe <[email protected]> Signed-off-by: Abhijit Gangurde <[email protected]>
1 parent a97ea53 commit e0cc03f

File tree

3 files changed

+120
-0
lines changed

3 files changed

+120
-0
lines changed

kernel-headers/CMakeLists.txt

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

0 commit comments

Comments
 (0)