.. | .. |
---|
31 | 31 | */ |
---|
32 | 32 | |
---|
33 | 33 | #include <linux/etherdevice.h> |
---|
34 | | -#include <linux/mlx5/cmd.h> |
---|
35 | 34 | #include <linux/mlx5/driver.h> |
---|
36 | 35 | #include <linux/mlx5/device.h> |
---|
37 | 36 | |
---|
.. | .. |
---|
143 | 142 | int mlx5_fpga_create_qp(struct mlx5_core_dev *dev, void *fpga_qpc, |
---|
144 | 143 | u32 *fpga_qpn) |
---|
145 | 144 | { |
---|
146 | | - u32 in[MLX5_ST_SZ_DW(fpga_create_qp_in)] = {0}; |
---|
147 | | - u32 out[MLX5_ST_SZ_DW(fpga_create_qp_out)]; |
---|
| 145 | + u32 out[MLX5_ST_SZ_DW(fpga_create_qp_out)] = {}; |
---|
| 146 | + u32 in[MLX5_ST_SZ_DW(fpga_create_qp_in)] = {}; |
---|
148 | 147 | int ret; |
---|
149 | 148 | |
---|
150 | 149 | MLX5_SET(fpga_create_qp_in, in, opcode, MLX5_CMD_OP_FPGA_CREATE_QP); |
---|
151 | 150 | memcpy(MLX5_ADDR_OF(fpga_create_qp_in, in, fpga_qpc), fpga_qpc, |
---|
152 | 151 | MLX5_FLD_SZ_BYTES(fpga_create_qp_in, fpga_qpc)); |
---|
153 | 152 | |
---|
154 | | - ret = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); |
---|
| 153 | + ret = mlx5_cmd_exec_inout(dev, fpga_create_qp, in, out); |
---|
155 | 154 | if (ret) |
---|
156 | 155 | return ret; |
---|
157 | 156 | |
---|
.. | .. |
---|
165 | 164 | enum mlx5_fpga_qpc_field_select fields, |
---|
166 | 165 | void *fpga_qpc) |
---|
167 | 166 | { |
---|
168 | | - u32 in[MLX5_ST_SZ_DW(fpga_modify_qp_in)] = {0}; |
---|
169 | | - u32 out[MLX5_ST_SZ_DW(fpga_modify_qp_out)]; |
---|
| 167 | + u32 in[MLX5_ST_SZ_DW(fpga_modify_qp_in)] = {}; |
---|
170 | 168 | |
---|
171 | 169 | MLX5_SET(fpga_modify_qp_in, in, opcode, MLX5_CMD_OP_FPGA_MODIFY_QP); |
---|
172 | 170 | MLX5_SET(fpga_modify_qp_in, in, field_select, fields); |
---|
.. | .. |
---|
174 | 172 | memcpy(MLX5_ADDR_OF(fpga_modify_qp_in, in, fpga_qpc), fpga_qpc, |
---|
175 | 173 | MLX5_FLD_SZ_BYTES(fpga_modify_qp_in, fpga_qpc)); |
---|
176 | 174 | |
---|
177 | | - return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); |
---|
| 175 | + return mlx5_cmd_exec_in(dev, fpga_modify_qp, in); |
---|
178 | 176 | } |
---|
179 | 177 | |
---|
180 | 178 | int mlx5_fpga_query_qp(struct mlx5_core_dev *dev, |
---|
181 | 179 | u32 fpga_qpn, void *fpga_qpc) |
---|
182 | 180 | { |
---|
183 | | - u32 in[MLX5_ST_SZ_DW(fpga_query_qp_in)] = {0}; |
---|
184 | | - u32 out[MLX5_ST_SZ_DW(fpga_query_qp_out)]; |
---|
| 181 | + u32 out[MLX5_ST_SZ_DW(fpga_query_qp_out)] = {}; |
---|
| 182 | + u32 in[MLX5_ST_SZ_DW(fpga_query_qp_in)] = {}; |
---|
185 | 183 | int ret; |
---|
186 | 184 | |
---|
187 | 185 | MLX5_SET(fpga_query_qp_in, in, opcode, MLX5_CMD_OP_FPGA_QUERY_QP); |
---|
188 | 186 | MLX5_SET(fpga_query_qp_in, in, fpga_qpn, fpga_qpn); |
---|
189 | 187 | |
---|
190 | | - ret = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); |
---|
| 188 | + ret = mlx5_cmd_exec_inout(dev, fpga_query_qp, in, out); |
---|
191 | 189 | if (ret) |
---|
192 | 190 | return ret; |
---|
193 | 191 | |
---|
.. | .. |
---|
198 | 196 | |
---|
199 | 197 | int mlx5_fpga_destroy_qp(struct mlx5_core_dev *dev, u32 fpga_qpn) |
---|
200 | 198 | { |
---|
201 | | - u32 in[MLX5_ST_SZ_DW(fpga_destroy_qp_in)] = {0}; |
---|
202 | | - u32 out[MLX5_ST_SZ_DW(fpga_destroy_qp_out)]; |
---|
| 199 | + u32 in[MLX5_ST_SZ_DW(fpga_destroy_qp_in)] = {}; |
---|
203 | 200 | |
---|
204 | 201 | MLX5_SET(fpga_destroy_qp_in, in, opcode, MLX5_CMD_OP_FPGA_DESTROY_QP); |
---|
205 | 202 | MLX5_SET(fpga_destroy_qp_in, in, fpga_qpn, fpga_qpn); |
---|
206 | 203 | |
---|
207 | | - return mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); |
---|
| 204 | + return mlx5_cmd_exec_in(dev, fpga_destroy_qp, in); |
---|
208 | 205 | } |
---|
209 | 206 | |
---|
210 | 207 | int mlx5_fpga_query_qp_counters(struct mlx5_core_dev *dev, u32 fpga_qpn, |
---|
211 | 208 | bool clear, struct mlx5_fpga_qp_counters *data) |
---|
212 | 209 | { |
---|
213 | | - u32 in[MLX5_ST_SZ_DW(fpga_query_qp_counters_in)] = {0}; |
---|
214 | | - u32 out[MLX5_ST_SZ_DW(fpga_query_qp_counters_out)]; |
---|
| 210 | + u32 out[MLX5_ST_SZ_DW(fpga_query_qp_counters_out)] = {}; |
---|
| 211 | + u32 in[MLX5_ST_SZ_DW(fpga_query_qp_counters_in)] = {}; |
---|
215 | 212 | int ret; |
---|
216 | 213 | |
---|
217 | 214 | MLX5_SET(fpga_query_qp_counters_in, in, opcode, |
---|
.. | .. |
---|
219 | 216 | MLX5_SET(fpga_query_qp_counters_in, in, clear, clear); |
---|
220 | 217 | MLX5_SET(fpga_query_qp_counters_in, in, fpga_qpn, fpga_qpn); |
---|
221 | 218 | |
---|
222 | | - ret = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out)); |
---|
| 219 | + ret = mlx5_cmd_exec_inout(dev, fpga_query_qp_counters, in, out); |
---|
223 | 220 | if (ret) |
---|
224 | 221 | return ret; |
---|
225 | 222 | |
---|