diff options
author | Roland Dreier <roland@eddore.topspincom.com> | 2005-08-19 13:33:35 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-08-26 23:37:37 -0400 |
commit | c04bc3d1f417a8a90eef9ab46523dfd44858b28d (patch) | |
tree | 5ac9dac7c37fc0b644814f8563fa3dad3c73e789 /drivers/infiniband/hw | |
parent | 288bdeb4bc5b89befd7ee2f0f0183604034ff6c5 (diff) |
[PATCH] IB/mthca: Move WQE structures into their own header
Move the definitions of the WQE structures from mthca_qp.c into
mthca_wqe.h, so that we'll be able to share them when we add the
SRQ code in mthca_srq.c.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_qp.c | 75 | ||||
-rw-r--r-- | drivers/infiniband/hw/mthca/mthca_wqe.h | 114 |
2 files changed, 115 insertions, 74 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 43af076acd5f..ebb8f4a3dd80 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include "mthca_dev.h" | 44 | #include "mthca_dev.h" |
45 | #include "mthca_cmd.h" | 45 | #include "mthca_cmd.h" |
46 | #include "mthca_memfree.h" | 46 | #include "mthca_memfree.h" |
47 | #include "mthca_wqe.h" | ||
47 | 48 | ||
48 | enum { | 49 | enum { |
49 | MTHCA_MAX_DIRECT_QP_SIZE = 4 * PAGE_SIZE, | 50 | MTHCA_MAX_DIRECT_QP_SIZE = 4 * PAGE_SIZE, |
@@ -175,80 +176,6 @@ enum { | |||
175 | MTHCA_QP_OPTPAR_SCHED_QUEUE = 1 << 16 | 176 | MTHCA_QP_OPTPAR_SCHED_QUEUE = 1 << 16 |
176 | }; | 177 | }; |
177 | 178 | ||
178 | enum { | ||
179 | MTHCA_NEXT_DBD = 1 << 7, | ||
180 | MTHCA_NEXT_FENCE = 1 << 6, | ||
181 | MTHCA_NEXT_CQ_UPDATE = 1 << 3, | ||
182 | MTHCA_NEXT_EVENT_GEN = 1 << 2, | ||
183 | MTHCA_NEXT_SOLICIT = 1 << 1, | ||
184 | |||
185 | MTHCA_MLX_VL15 = 1 << 17, | ||
186 | MTHCA_MLX_SLR = 1 << 16 | ||
187 | }; | ||
188 | |||
189 | enum { | ||
190 | MTHCA_INVAL_LKEY = 0x100 | ||
191 | }; | ||
192 | |||
193 | struct mthca_next_seg { | ||
194 | __be32 nda_op; /* [31:6] next WQE [4:0] next opcode */ | ||
195 | __be32 ee_nds; /* [31:8] next EE [7] DBD [6] F [5:0] next WQE size */ | ||
196 | __be32 flags; /* [3] CQ [2] Event [1] Solicit */ | ||
197 | __be32 imm; /* immediate data */ | ||
198 | }; | ||
199 | |||
200 | struct mthca_tavor_ud_seg { | ||
201 | u32 reserved1; | ||
202 | __be32 lkey; | ||
203 | __be64 av_addr; | ||
204 | u32 reserved2[4]; | ||
205 | __be32 dqpn; | ||
206 | __be32 qkey; | ||
207 | u32 reserved3[2]; | ||
208 | }; | ||
209 | |||
210 | struct mthca_arbel_ud_seg { | ||
211 | __be32 av[8]; | ||
212 | __be32 dqpn; | ||
213 | __be32 qkey; | ||
214 | u32 reserved[2]; | ||
215 | }; | ||
216 | |||
217 | struct mthca_bind_seg { | ||
218 | __be32 flags; /* [31] Atomic [30] rem write [29] rem read */ | ||
219 | u32 reserved; | ||
220 | __be32 new_rkey; | ||
221 | __be32 lkey; | ||
222 | __be64 addr; | ||
223 | __be64 length; | ||
224 | }; | ||
225 | |||
226 | struct mthca_raddr_seg { | ||
227 | __be64 raddr; | ||
228 | __be32 rkey; | ||
229 | u32 reserved; | ||
230 | }; | ||
231 | |||
232 | struct mthca_atomic_seg { | ||
233 | __be64 swap_add; | ||
234 | __be64 compare; | ||
235 | }; | ||
236 | |||
237 | struct mthca_data_seg { | ||
238 | __be32 byte_count; | ||
239 | __be32 lkey; | ||
240 | __be64 addr; | ||
241 | }; | ||
242 | |||
243 | struct mthca_mlx_seg { | ||
244 | __be32 nda_op; | ||
245 | __be32 nds; | ||
246 | __be32 flags; /* [17] VL15 [16] SLR [14:12] static rate | ||
247 | [11:8] SL [3] C [2] E */ | ||
248 | __be16 rlid; | ||
249 | __be16 vcrc; | ||
250 | }; | ||
251 | |||
252 | static const u8 mthca_opcode[] = { | 179 | static const u8 mthca_opcode[] = { |
253 | [IB_WR_SEND] = MTHCA_OPCODE_SEND, | 180 | [IB_WR_SEND] = MTHCA_OPCODE_SEND, |
254 | [IB_WR_SEND_WITH_IMM] = MTHCA_OPCODE_SEND_IMM, | 181 | [IB_WR_SEND_WITH_IMM] = MTHCA_OPCODE_SEND_IMM, |
diff --git a/drivers/infiniband/hw/mthca/mthca_wqe.h b/drivers/infiniband/hw/mthca/mthca_wqe.h new file mode 100644 index 000000000000..1f4c0ff28f79 --- /dev/null +++ b/drivers/infiniband/hw/mthca/mthca_wqe.h | |||
@@ -0,0 +1,114 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2005 Cisco Systems. All rights reserved. | ||
3 | * | ||
4 | * This software is available to you under a choice of one of two | ||
5 | * licenses. You may choose to be licensed under the terms of the GNU | ||
6 | * General Public License (GPL) Version 2, available from the file | ||
7 | * COPYING in the main directory of this source tree, or the | ||
8 | * OpenIB.org BSD license below: | ||
9 | * | ||
10 | * Redistribution and use in source and binary forms, with or | ||
11 | * without modification, are permitted provided that the following | ||
12 | * conditions are met: | ||
13 | * | ||
14 | * - Redistributions of source code must retain the above | ||
15 | * copyright notice, this list of conditions and the following | ||
16 | * disclaimer. | ||
17 | * | ||
18 | * - Redistributions in binary form must reproduce the above | ||
19 | * copyright notice, this list of conditions and the following | ||
20 | * disclaimer in the documentation and/or other materials | ||
21 | * provided with the distribution. | ||
22 | * | ||
23 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
24 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
25 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
26 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS | ||
27 | * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN | ||
28 | * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
29 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
30 | * SOFTWARE. | ||
31 | * | ||
32 | * $Id: mthca_wqe.h 3047 2005-08-10 03:59:35Z roland $ | ||
33 | */ | ||
34 | |||
35 | #ifndef MTHCA_WQE_H | ||
36 | #define MTHCA_WQE_H | ||
37 | |||
38 | #include <linux/types.h> | ||
39 | |||
40 | enum { | ||
41 | MTHCA_NEXT_DBD = 1 << 7, | ||
42 | MTHCA_NEXT_FENCE = 1 << 6, | ||
43 | MTHCA_NEXT_CQ_UPDATE = 1 << 3, | ||
44 | MTHCA_NEXT_EVENT_GEN = 1 << 2, | ||
45 | MTHCA_NEXT_SOLICIT = 1 << 1, | ||
46 | |||
47 | MTHCA_MLX_VL15 = 1 << 17, | ||
48 | MTHCA_MLX_SLR = 1 << 16 | ||
49 | }; | ||
50 | |||
51 | enum { | ||
52 | MTHCA_INVAL_LKEY = 0x100 | ||
53 | }; | ||
54 | |||
55 | struct mthca_next_seg { | ||
56 | __be32 nda_op; /* [31:6] next WQE [4:0] next opcode */ | ||
57 | __be32 ee_nds; /* [31:8] next EE [7] DBD [6] F [5:0] next WQE size */ | ||
58 | __be32 flags; /* [3] CQ [2] Event [1] Solicit */ | ||
59 | __be32 imm; /* immediate data */ | ||
60 | }; | ||
61 | |||
62 | struct mthca_tavor_ud_seg { | ||
63 | u32 reserved1; | ||
64 | __be32 lkey; | ||
65 | __be64 av_addr; | ||
66 | u32 reserved2[4]; | ||
67 | __be32 dqpn; | ||
68 | __be32 qkey; | ||
69 | u32 reserved3[2]; | ||
70 | }; | ||
71 | |||
72 | struct mthca_arbel_ud_seg { | ||
73 | __be32 av[8]; | ||
74 | __be32 dqpn; | ||
75 | __be32 qkey; | ||
76 | u32 reserved[2]; | ||
77 | }; | ||
78 | |||
79 | struct mthca_bind_seg { | ||
80 | __be32 flags; /* [31] Atomic [30] rem write [29] rem read */ | ||
81 | u32 reserved; | ||
82 | __be32 new_rkey; | ||
83 | __be32 lkey; | ||
84 | __be64 addr; | ||
85 | __be64 length; | ||
86 | }; | ||
87 | |||
88 | struct mthca_raddr_seg { | ||
89 | __be64 raddr; | ||
90 | __be32 rkey; | ||
91 | u32 reserved; | ||
92 | }; | ||
93 | |||
94 | struct mthca_atomic_seg { | ||
95 | __be64 swap_add; | ||
96 | __be64 compare; | ||
97 | }; | ||
98 | |||
99 | struct mthca_data_seg { | ||
100 | __be32 byte_count; | ||
101 | __be32 lkey; | ||
102 | __be64 addr; | ||
103 | }; | ||
104 | |||
105 | struct mthca_mlx_seg { | ||
106 | __be32 nda_op; | ||
107 | __be32 nds; | ||
108 | __be32 flags; /* [17] VL15 [16] SLR [14:12] static rate | ||
109 | [11:8] SL [3] C [2] E */ | ||
110 | __be16 rlid; | ||
111 | __be16 vcrc; | ||
112 | }; | ||
113 | |||
114 | #endif /* MTHCA_WQE_H */ | ||