Skip to content

Commit 486f609

Browse files
rleondledford
authored andcommitted
IB/mthca: Move user vendor structures
This patch moves mthca vendor's specific structures to common UAPI folder which will be visible to all consumers. These structures are used by user-space library driver (libmthca) and currently manually copied to that library. This move will allow cross-compile against these files and simplify introduction of vendor specific data. Signed-off-by: Leon Romanovsky <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
1 parent c546b2a commit 486f609

File tree

3 files changed

+113
-1
lines changed

3 files changed

+113
-1
lines changed

drivers/infiniband/hw/mthca/mthca_provider.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646

4747
#include "mthca_dev.h"
4848
#include "mthca_cmd.h"
49-
#include "mthca_user.h"
49+
#include <rdma/mthca-abi.h>
5050
#include "mthca_memfree.h"
5151

5252
static void init_query_mad(struct ib_smp *mad)

include/uapi/rdma/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ header-y += cxgb3-abi.h
1111
header-y += cxgb4-abi.h
1212
header-y += mlx4-abi.h
1313
header-y += mlx5-abi.h
14+
header-y += mthca-abi.h
1415
header-y += nes-abi.h
1516
header-y += ocrdma-abi.h

include/uapi/rdma/mthca-abi.h

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
/*
2+
* Copyright (c) 2005 Topspin Communications. All rights reserved.
3+
* Copyright (c) 2005, 2006 Cisco Systems. 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 MTHCA_ABI_USER_H
35+
#define MTHCA_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+
#define MTHCA_UVERBS_ABI_VERSION 1
44+
45+
/*
46+
* Make sure that all structs defined in this file remain laid out so
47+
* that they pack the same way on 32-bit and 64-bit architectures (to
48+
* avoid incompatibility between 32-bit userspace and 64-bit kernels).
49+
* In particular do not use pointer types -- pass pointers in __u64
50+
* instead.
51+
*/
52+
struct mthca_alloc_ucontext_resp {
53+
__u32 qp_tab_size;
54+
__u32 uarc_size;
55+
};
56+
57+
struct mthca_alloc_pd_resp {
58+
__u32 pdn;
59+
__u32 reserved;
60+
};
61+
62+
/*
63+
* Mark the memory region with a DMA attribute that causes
64+
* in-flight DMA to be flushed when the region is written to:
65+
*/
66+
#define MTHCA_MR_DMASYNC 0x1
67+
68+
struct mthca_reg_mr {
69+
__u32 mr_attrs;
70+
__u32 reserved;
71+
};
72+
73+
struct mthca_create_cq {
74+
__u32 lkey;
75+
__u32 pdn;
76+
__u64 arm_db_page;
77+
__u64 set_db_page;
78+
__u32 arm_db_index;
79+
__u32 set_db_index;
80+
};
81+
82+
struct mthca_create_cq_resp {
83+
__u32 cqn;
84+
__u32 reserved;
85+
};
86+
87+
struct mthca_resize_cq {
88+
__u32 lkey;
89+
__u32 reserved;
90+
};
91+
92+
struct mthca_create_srq {
93+
__u32 lkey;
94+
__u32 db_index;
95+
__u64 db_page;
96+
};
97+
98+
struct mthca_create_srq_resp {
99+
__u32 srqn;
100+
__u32 reserved;
101+
};
102+
103+
struct mthca_create_qp {
104+
__u32 lkey;
105+
__u32 reserved;
106+
__u64 sq_db_page;
107+
__u64 rq_db_page;
108+
__u32 sq_db_index;
109+
__u32 rq_db_index;
110+
};
111+
#endif /* MTHCA_ABI_USER_H */

0 commit comments

Comments
 (0)