History

IB/mlx4: Move user vendor structures

This patch moves mlx4 vendor's specific structures to common UAPI folder which will be visible to all consumers. These structures are used by user-space library driver (libmlx4) and currently manually copied to that library. This move will allow cross-compile against these files and simplify introduction of vendor specific data.

Leon Romanovsky committed 10 years ago

Commit 9ce28a21 parent e44ee2f7 files · +9 −7Browse files

Showing the changes to include/uapi (2 of 7 files). Show all

Unified · Split

2 files
  1. include/uapi/rdma/Kbuild +1 −0
  2. include/uapi/rdma/mlx4-abi.h +107 −0
include/uapi/rdma/Kbuild+1−0
@@ -9,4 +9,5 @@ header-y += hfi/ · 8 unmodified lines
99 header-y += rdma_user_rxe.h
1010 header-y += cxgb3-abi.h
1111 header-y += cxgb4-abi.h
12+header-y += mlx4-abi.h
1213 header-y += mlx5-abi.h
include/uapi/rdma/mlx4-abi.h+107−0
@@ -0,0 +1,107 @@
1+/*
2+ * Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
3+ * Copyright (c) 2007, 2008 Mellanox Technologies. All rights reserved.
4+ *
5+ * This software is available to you under a choice of one of two
6+ * licenses. You may choose to be licensed under the terms of the GNU
7+ * General Public License (GPL) Version 2, available from the file
8+ * COPYING in the main directory of this source tree, or the
9+ * OpenIB.org BSD license below:
10+ *
11+ * Redistribution and use in source and binary forms, with or
12+ * without modification, are permitted provided that the following
13+ * conditions are met:
14+ *
15+ * - Redistributions of source code must retain the above
16+ * copyright notice, this list of conditions and the following
17+ * disclaimer.
18+ *
19+ * - Redistributions in binary form must reproduce the above
20+ * copyright notice, this list of conditions and the following
21+ * disclaimer in the documentation and/or other materials
22+ * provided with the distribution.
23+ *
24+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
28+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
29+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
30+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31+ * SOFTWARE.
32+ */
33+
34+#ifndef MLX4_ABI_USER_H
35+#define MLX4_ABI_USER_H
36+
37+#include <linux/types.h>
38+
39+/*
40+ * Increment this value if any changes that break userspace ABI
41+ * compatibility are made.
42+ */
43+
44+#define MLX4_IB_UVERBS_NO_DEV_CAPS_ABI_VERSION 3
45+#define MLX4_IB_UVERBS_ABI_VERSION 4
46+
47+/*
48+ * Make sure that all structs defined in this file remain laid out so
49+ * that they pack the same way on 32-bit and 64-bit architectures (to
50+ * avoid incompatibility between 32-bit userspace and 64-bit kernels).
51+ * In particular do not use pointer types -- pass pointers in __u64
52+ * instead.
53+ */
54+
55+struct mlx4_ib_alloc_ucontext_resp_v3 {
56+ __u32 qp_tab_size;
57+ __u16 bf_reg_size;
58+ __u16 bf_regs_per_page;
59+};
60+
61+struct mlx4_ib_alloc_ucontext_resp {
62+ __u32 dev_caps;
63+ __u32 qp_tab_size;
64+ __u16 bf_reg_size;
65+ __u16 bf_regs_per_page;
66+ __u32 cqe_size;
67+};
68+
69+struct mlx4_ib_alloc_pd_resp {
70+ __u32 pdn;
71+ __u32 reserved;
72+};
73+
74+struct mlx4_ib_create_cq {
75+ __u64 buf_addr;
76+ __u64 db_addr;
77+};
78+
79+struct mlx4_ib_create_cq_resp {
80+ __u32 cqn;
81+ __u32 reserved;
82+};
83+
84+struct mlx4_ib_resize_cq {
85+ __u64 buf_addr;
86+};
87+
88+struct mlx4_ib_create_srq {
89+ __u64 buf_addr;
90+ __u64 db_addr;
91+};
92+
93+struct mlx4_ib_create_srq_resp {
94+ __u32 srqn;
95+ __u32 reserved;
96+};
97+
98+struct mlx4_ib_create_qp {
99+ __u64 buf_addr;
100+ __u64 db_addr;
101+ __u8 log_sq_bb_count;
102+ __u8 log_sq_stride;
103+ __u8 sq_no_prefetch;
104+ __u8 reserved[5];
105+};
106+
107+#endif /* MLX4_ABI_USER_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t