| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * linux/fs/9p/trans_rdma.c |
|---|
| 3 | 4 | * |
|---|
| .. | .. |
|---|
| 8 | 9 | * Copyright (C) 2004-2005 by Latchesar Ionkov <lucho@ionkov.net> |
|---|
| 9 | 10 | * Copyright (C) 2004-2008 by Eric Van Hensbergen <ericvh@gmail.com> |
|---|
| 10 | 11 | * Copyright (C) 1997-2002 by Ron Minnich <rminnich@sarnoff.com> |
|---|
| 11 | | - * |
|---|
| 12 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 13 | | - * it under the terms of the GNU General Public License version 2 |
|---|
| 14 | | - * as published by the Free Software Foundation. |
|---|
| 15 | | - * |
|---|
| 16 | | - * This program is distributed in the hope that it will be useful, |
|---|
| 17 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|---|
| 18 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|---|
| 19 | | - * GNU General Public License for more details. |
|---|
| 20 | | - * |
|---|
| 21 | | - * You should have received a copy of the GNU General Public License |
|---|
| 22 | | - * along with this program; if not, write to: |
|---|
| 23 | | - * Free Software Foundation |
|---|
| 24 | | - * 51 Franklin Street, Fifth Floor |
|---|
| 25 | | - * Boston, MA 02111-1301 USA |
|---|
| 26 | | - * |
|---|
| 27 | 12 | */ |
|---|
| 28 | 13 | |
|---|
| 29 | 14 | #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt |
|---|
| .. | .. |
|---|
| 109 | 94 | struct completion cm_done; |
|---|
| 110 | 95 | }; |
|---|
| 111 | 96 | |
|---|
| 97 | +struct p9_rdma_req; |
|---|
| 98 | + |
|---|
| 112 | 99 | /** |
|---|
| 113 | | - * p9_rdma_context - Keeps track of in-process WR |
|---|
| 100 | + * struct p9_rdma_context - Keeps track of in-process WR |
|---|
| 114 | 101 | * |
|---|
| 115 | 102 | * @busa: Bus address to unmap when the WR completes |
|---|
| 116 | 103 | * @req: Keeps track of requests (send) |
|---|
| 117 | 104 | * @rc: Keepts track of replies (receive) |
|---|
| 118 | 105 | */ |
|---|
| 119 | | -struct p9_rdma_req; |
|---|
| 120 | 106 | struct p9_rdma_context { |
|---|
| 121 | 107 | struct ib_cqe cqe; |
|---|
| 122 | 108 | dma_addr_t busa; |
|---|
| .. | .. |
|---|
| 127 | 113 | }; |
|---|
| 128 | 114 | |
|---|
| 129 | 115 | /** |
|---|
| 130 | | - * p9_rdma_opts - Collection of mount options |
|---|
| 116 | + * struct p9_rdma_opts - Collection of mount options |
|---|
| 131 | 117 | * @port: port of connection |
|---|
| 132 | 118 | * @sq_depth: The requested depth of the SQ. This really doesn't need |
|---|
| 133 | 119 | * to be any deeper than the number of threads used in the client |
|---|
| .. | .. |
|---|
| 700 | 686 | goto error; |
|---|
| 701 | 687 | |
|---|
| 702 | 688 | /* Create the Completion Queue */ |
|---|
| 703 | | - rdma->cq = ib_alloc_cq(rdma->cm_id->device, client, |
|---|
| 704 | | - opts.sq_depth + opts.rq_depth + 1, |
|---|
| 705 | | - 0, IB_POLL_SOFTIRQ); |
|---|
| 689 | + rdma->cq = ib_alloc_cq_any(rdma->cm_id->device, client, |
|---|
| 690 | + opts.sq_depth + opts.rq_depth + 1, |
|---|
| 691 | + IB_POLL_SOFTIRQ); |
|---|
| 706 | 692 | if (IS_ERR(rdma->cq)) |
|---|
| 707 | 693 | goto error; |
|---|
| 708 | 694 | |
|---|