hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/infiniband/sw/rxe/rxe_srq.c
....@@ -1,34 +1,7 @@
1
+// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
12 /*
23 * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved.
34 * Copyright (c) 2015 System Fabric Works, Inc. 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.
325 */
336
347 #include <linux/vmalloc.h>
....@@ -99,8 +72,7 @@
9972 }
10073
10174 int rxe_srq_from_init(struct rxe_dev *rxe, struct rxe_srq *srq,
102
- struct ib_srq_init_attr *init,
103
- struct ib_ucontext *context,
75
+ struct ib_srq_init_attr *init, struct ib_udata *udata,
10476 struct rxe_create_srq_resp __user *uresp)
10577 {
10678 int err;
....@@ -128,7 +100,7 @@
128100
129101 srq->rq.queue = q;
130102
131
- err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, context, q->buf,
103
+ err = do_mmap_info(rxe, uresp ? &uresp->mi : NULL, udata, q->buf,
132104 q->buf_size, &q->ip);
133105 if (err) {
134106 vfree(q->buf);
....@@ -149,7 +121,7 @@
149121
150122 int rxe_srq_from_attr(struct rxe_dev *rxe, struct rxe_srq *srq,
151123 struct ib_srq_attr *attr, enum ib_srq_attr_mask mask,
152
- struct rxe_modify_srq_cmd *ucmd)
124
+ struct rxe_modify_srq_cmd *ucmd, struct ib_udata *udata)
153125 {
154126 int err;
155127 struct rxe_queue *q = srq->rq.queue;
....@@ -163,11 +135,8 @@
163135 mi = u64_to_user_ptr(ucmd->mmap_info_addr);
164136
165137 err = rxe_queue_resize(q, &attr->max_wr,
166
- rcv_wqe_size(srq->rq.max_sge),
167
- srq->rq.queue->ip ?
168
- srq->rq.queue->ip->context :
169
- NULL,
170
- mi, &srq->rq.producer_lock,
138
+ rcv_wqe_size(srq->rq.max_sge), udata, mi,
139
+ &srq->rq.producer_lock,
171140 &srq->rq.consumer_lock);
172141 if (err)
173142 goto err2;