Commit 09a7d9ec authored by Saeed Mahameed's avatar Saeed Mahameed Committed by Leon Romanovsky

{net,IB}/mlx5: QP/XRCD commands via mlx5 ifc

Remove old representation of manually created QP/XRCD commands layout
amd use mlx5_ifc canonical structures and defines.
Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent ec22eb53
This diff is collapsed.
...@@ -277,24 +277,28 @@ void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev) ...@@ -277,24 +277,28 @@ void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev)
static u64 qp_read_field(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp, static u64 qp_read_field(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp,
int index, int *is_str) int index, int *is_str)
{ {
struct mlx5_query_qp_mbox_out *out; int outlen = MLX5_ST_SZ_BYTES(query_qp_out);
struct mlx5_qp_context *ctx; struct mlx5_qp_context *ctx;
u64 param = 0; u64 param = 0;
u32 *out;
int err; int err;
int no_sq; int no_sq;
out = kzalloc(sizeof(*out), GFP_KERNEL); out = kzalloc(outlen, GFP_KERNEL);
if (!out) if (!out)
return param; return param;
err = mlx5_core_qp_query(dev, qp, out, sizeof(*out)); err = mlx5_core_qp_query(dev, qp, out, outlen);
if (err) { if (err) {
mlx5_core_warn(dev, "failed to query qp\n"); mlx5_core_warn(dev, "failed to query qp err=%d\n", err);
goto out; goto out;
} }
*is_str = 0; *is_str = 0;
ctx = &out->ctx;
/* FIXME: use MLX5_GET rather than mlx5_qp_context manual struct */
ctx = (struct mlx5_qp_context *)MLX5_ADDR_OF(query_qp_out, out, qpc);
switch (index) { switch (index) {
case QP_PID: case QP_PID:
param = qp->pid; param = qp->pid;
......
...@@ -271,30 +271,21 @@ static void destroy_qprqsq_common(struct mlx5_core_dev *dev, ...@@ -271,30 +271,21 @@ static void destroy_qprqsq_common(struct mlx5_core_dev *dev,
int mlx5_core_create_qp(struct mlx5_core_dev *dev, int mlx5_core_create_qp(struct mlx5_core_dev *dev,
struct mlx5_core_qp *qp, struct mlx5_core_qp *qp,
struct mlx5_create_qp_mbox_in *in, u32 *in, int inlen)
int inlen)
{ {
struct mlx5_create_qp_mbox_out out; u32 out[MLX5_ST_SZ_DW(create_qp_out)] = {0};
struct mlx5_destroy_qp_mbox_in din; u32 dout[MLX5_ST_SZ_DW(destroy_qp_out)];
struct mlx5_destroy_qp_mbox_out dout; u32 din[MLX5_ST_SZ_DW(destroy_qp_in)];
int err; int err;
memset(&out, 0, sizeof(out)); MLX5_SET(create_qp_in, in, opcode, MLX5_CMD_OP_CREATE_QP);
in->hdr.opcode = cpu_to_be16(MLX5_CMD_OP_CREATE_QP);
err = mlx5_cmd_exec(dev, in, inlen, &out, sizeof(out)); err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out));
if (err) { err = err ? : mlx5_cmd_status_to_err_v2(out);
mlx5_core_warn(dev, "ret %d\n", err); if (err)
return err; return err;
}
if (out.hdr.status) {
mlx5_core_warn(dev, "current num of QPs 0x%x\n",
atomic_read(&dev->num_qps));
return mlx5_cmd_status_to_err(&out.hdr);
}
qp->qpn = be32_to_cpu(out.qpn) & 0xffffff; qp->qpn = MLX5_GET(create_qp_out, out, qpn);
mlx5_core_dbg(dev, "qpn = 0x%x\n", qp->qpn); mlx5_core_dbg(dev, "qpn = 0x%x\n", qp->qpn);
err = create_qprqsq_common(dev, qp, MLX5_RES_QP); err = create_qprqsq_common(dev, qp, MLX5_RES_QP);
...@@ -311,12 +302,12 @@ int mlx5_core_create_qp(struct mlx5_core_dev *dev, ...@@ -311,12 +302,12 @@ int mlx5_core_create_qp(struct mlx5_core_dev *dev,
return 0; return 0;
err_cmd: err_cmd:
memset(&din, 0, sizeof(din)); memset(din, 0, sizeof(din));
memset(&dout, 0, sizeof(dout)); memset(dout, 0, sizeof(dout));
din.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_DESTROY_QP); MLX5_SET(destroy_qp_in, in, opcode, MLX5_CMD_OP_DESTROY_QP);
din.qpn = cpu_to_be32(qp->qpn); MLX5_SET(destroy_qp_in, in, qpn, qp->qpn);
mlx5_cmd_exec(dev, &din, sizeof(din), &out, sizeof(dout)); mlx5_cmd_exec(dev, din, sizeof(din), dout, sizeof(dout));
mlx5_cmd_status_to_err_v2(dout);
return err; return err;
} }
EXPORT_SYMBOL_GPL(mlx5_core_create_qp); EXPORT_SYMBOL_GPL(mlx5_core_create_qp);
...@@ -324,25 +315,21 @@ EXPORT_SYMBOL_GPL(mlx5_core_create_qp); ...@@ -324,25 +315,21 @@ EXPORT_SYMBOL_GPL(mlx5_core_create_qp);
int mlx5_core_destroy_qp(struct mlx5_core_dev *dev, int mlx5_core_destroy_qp(struct mlx5_core_dev *dev,
struct mlx5_core_qp *qp) struct mlx5_core_qp *qp)
{ {
struct mlx5_destroy_qp_mbox_in in; u32 out[MLX5_ST_SZ_DW(destroy_qp_out)] = {0};
struct mlx5_destroy_qp_mbox_out out; u32 in[MLX5_ST_SZ_DW(destroy_qp_in)] = {0};
int err; int err;
mlx5_debug_qp_remove(dev, qp); mlx5_debug_qp_remove(dev, qp);
destroy_qprqsq_common(dev, qp); destroy_qprqsq_common(dev, qp);
memset(&in, 0, sizeof(in)); MLX5_SET(destroy_qp_in, in, opcode, MLX5_CMD_OP_DESTROY_QP);
memset(&out, 0, sizeof(out)); MLX5_SET(destroy_qp_in, in, qpn, qp->qpn);
in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_DESTROY_QP); err = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out));
in.qpn = cpu_to_be32(qp->qpn); err = err ? : mlx5_cmd_status_to_err_v2(out);
err = mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out));
if (err) if (err)
return err; return err;
if (out.hdr.status)
return mlx5_cmd_status_to_err(&out.hdr);
atomic_dec(&dev->num_qps); atomic_dec(&dev->num_qps);
return 0; return 0;
} }
...@@ -382,66 +369,44 @@ void mlx5_cleanup_qp_table(struct mlx5_core_dev *dev) ...@@ -382,66 +369,44 @@ void mlx5_cleanup_qp_table(struct mlx5_core_dev *dev)
} }
int mlx5_core_qp_query(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp, int mlx5_core_qp_query(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp,
struct mlx5_query_qp_mbox_out *out, int outlen) u32 *out, int outlen)
{ {
struct mlx5_query_qp_mbox_in in; u32 in[MLX5_ST_SZ_DW(query_qp_in)] = {0};
int err; int err;
memset(&in, 0, sizeof(in)); MLX5_SET(query_qp_in, in, opcode, MLX5_CMD_OP_QUERY_QP);
memset(out, 0, outlen); MLX5_SET(query_qp_in, in, qpn, qp->qpn);
in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_QUERY_QP);
in.qpn = cpu_to_be32(qp->qpn);
err = mlx5_cmd_exec(dev, &in, sizeof(in), out, outlen);
if (err)
return err;
if (out->hdr.status) err = mlx5_cmd_exec(dev, in, sizeof(in), out, outlen);
return mlx5_cmd_status_to_err(&out->hdr); return err ? : mlx5_cmd_status_to_err_v2(out);
return err;
} }
EXPORT_SYMBOL_GPL(mlx5_core_qp_query); EXPORT_SYMBOL_GPL(mlx5_core_qp_query);
int mlx5_core_xrcd_alloc(struct mlx5_core_dev *dev, u32 *xrcdn) int mlx5_core_xrcd_alloc(struct mlx5_core_dev *dev, u32 *xrcdn)
{ {
struct mlx5_alloc_xrcd_mbox_in in; u32 out[MLX5_ST_SZ_DW(alloc_xrcd_out)] = {0};
struct mlx5_alloc_xrcd_mbox_out out; u32 in[MLX5_ST_SZ_DW(alloc_xrcd_in)] = {0};
int err; int err;
memset(&in, 0, sizeof(in)); MLX5_SET(alloc_xrcd_in, in, opcode, MLX5_CMD_OP_ALLOC_XRCD);
memset(&out, 0, sizeof(out)); err = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out));
in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_ALLOC_XRCD); err = err ? : mlx5_cmd_status_to_err_v2(out);
err = mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out)); if (!err)
if (err) *xrcdn = MLX5_GET(alloc_xrcd_out, out, xrcd);
return err;
if (out.hdr.status)
err = mlx5_cmd_status_to_err(&out.hdr);
else
*xrcdn = be32_to_cpu(out.xrcdn) & 0xffffff;
return err; return err;
} }
EXPORT_SYMBOL_GPL(mlx5_core_xrcd_alloc); EXPORT_SYMBOL_GPL(mlx5_core_xrcd_alloc);
int mlx5_core_xrcd_dealloc(struct mlx5_core_dev *dev, u32 xrcdn) int mlx5_core_xrcd_dealloc(struct mlx5_core_dev *dev, u32 xrcdn)
{ {
struct mlx5_dealloc_xrcd_mbox_in in; u32 out[MLX5_ST_SZ_DW(dealloc_xrcd_out)] = {0};
struct mlx5_dealloc_xrcd_mbox_out out; u32 in[MLX5_ST_SZ_DW(dealloc_xrcd_in)] = {0};
int err; int err;
memset(&in, 0, sizeof(in)); MLX5_SET(dealloc_xrcd_in, in, opcode, MLX5_CMD_OP_DEALLOC_XRCD);
memset(&out, 0, sizeof(out)); MLX5_SET(dealloc_xrcd_in, in, xrcd, xrcdn);
in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_DEALLOC_XRCD); err = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out));
in.xrcdn = cpu_to_be32(xrcdn); return err ? : mlx5_cmd_status_to_err_v2(out);
err = mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out));
if (err)
return err;
if (out.hdr.status)
err = mlx5_cmd_status_to_err(&out.hdr);
return err;
} }
EXPORT_SYMBOL_GPL(mlx5_core_xrcd_dealloc); EXPORT_SYMBOL_GPL(mlx5_core_xrcd_dealloc);
...@@ -449,28 +414,26 @@ EXPORT_SYMBOL_GPL(mlx5_core_xrcd_dealloc); ...@@ -449,28 +414,26 @@ EXPORT_SYMBOL_GPL(mlx5_core_xrcd_dealloc);
int mlx5_core_page_fault_resume(struct mlx5_core_dev *dev, u32 qpn, int mlx5_core_page_fault_resume(struct mlx5_core_dev *dev, u32 qpn,
u8 flags, int error) u8 flags, int error)
{ {
struct mlx5_page_fault_resume_mbox_in in; u32 out[MLX5_ST_SZ_DW(page_fault_resume_out)] = {0};
struct mlx5_page_fault_resume_mbox_out out; u32 in[MLX5_ST_SZ_DW(page_fault_resume_in)] = {0};
int err; int err;
memset(&in, 0, sizeof(in)); MLX5_SET(page_fault_resume_in, in, opcode,
memset(&out, 0, sizeof(out)); MLX5_CMD_OP_PAGE_FAULT_RESUME);
in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_PAGE_FAULT_RESUME);
in.hdr.opmod = 0;
flags &= (MLX5_PAGE_FAULT_RESUME_REQUESTOR |
MLX5_PAGE_FAULT_RESUME_WRITE |
MLX5_PAGE_FAULT_RESUME_RDMA);
flags |= (error ? MLX5_PAGE_FAULT_RESUME_ERROR : 0);
in.flags_qpn = cpu_to_be32((qpn & MLX5_QPN_MASK) |
(flags << MLX5_QPN_BITS));
err = mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out));
if (err)
return err;
if (out.hdr.status) MLX5_SET(page_fault_resume_in, in, qpn, qpn);
err = mlx5_cmd_status_to_err(&out.hdr);
return err; if (flags & MLX5_PAGE_FAULT_RESUME_REQUESTOR)
MLX5_SET(page_fault_resume_in, in, req_res, 1);
if (flags & MLX5_PAGE_FAULT_RESUME_WRITE)
MLX5_SET(page_fault_resume_in, in, read_write, 1);
if (flags & MLX5_PAGE_FAULT_RESUME_RDMA)
MLX5_SET(page_fault_resume_in, in, rdma, 1);
if (error)
MLX5_SET(page_fault_resume_in, in, error, 1);
err = mlx5_cmd_exec(dev, in, sizeof(in), out, sizeof(out));
return err ? : mlx5_cmd_status_to_err_v2(out);
} }
EXPORT_SYMBOL_GPL(mlx5_core_page_fault_resume); EXPORT_SYMBOL_GPL(mlx5_core_page_fault_resume);
#endif #endif
...@@ -541,13 +504,10 @@ EXPORT_SYMBOL(mlx5_core_destroy_sq_tracked); ...@@ -541,13 +504,10 @@ EXPORT_SYMBOL(mlx5_core_destroy_sq_tracked);
int mlx5_core_alloc_q_counter(struct mlx5_core_dev *dev, u16 *counter_id) int mlx5_core_alloc_q_counter(struct mlx5_core_dev *dev, u16 *counter_id)
{ {
u32 in[MLX5_ST_SZ_DW(alloc_q_counter_in)]; u32 in[MLX5_ST_SZ_DW(alloc_q_counter_in)] = {0};
u32 out[MLX5_ST_SZ_DW(alloc_q_counter_out)]; u32 out[MLX5_ST_SZ_DW(alloc_q_counter_out)] = {0};
int err; int err;
memset(in, 0, sizeof(in));
memset(out, 0, sizeof(out));
MLX5_SET(alloc_q_counter_in, in, opcode, MLX5_CMD_OP_ALLOC_Q_COUNTER); MLX5_SET(alloc_q_counter_in, in, opcode, MLX5_CMD_OP_ALLOC_Q_COUNTER);
err = mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out)); err = mlx5_cmd_exec_check_status(dev, in, sizeof(in), out, sizeof(out));
if (!err) if (!err)
...@@ -559,11 +519,8 @@ EXPORT_SYMBOL_GPL(mlx5_core_alloc_q_counter); ...@@ -559,11 +519,8 @@ EXPORT_SYMBOL_GPL(mlx5_core_alloc_q_counter);
int mlx5_core_dealloc_q_counter(struct mlx5_core_dev *dev, u16 counter_id) int mlx5_core_dealloc_q_counter(struct mlx5_core_dev *dev, u16 counter_id)
{ {
u32 in[MLX5_ST_SZ_DW(dealloc_q_counter_in)]; u32 in[MLX5_ST_SZ_DW(dealloc_q_counter_in)] = {0};
u32 out[MLX5_ST_SZ_DW(dealloc_q_counter_out)]; u32 out[MLX5_ST_SZ_DW(dealloc_q_counter_out)] = {0};
memset(in, 0, sizeof(in));
memset(out, 0, sizeof(out));
MLX5_SET(dealloc_q_counter_in, in, opcode, MLX5_SET(dealloc_q_counter_in, in, opcode,
MLX5_CMD_OP_DEALLOC_Q_COUNTER); MLX5_CMD_OP_DEALLOC_Q_COUNTER);
...@@ -576,9 +533,7 @@ EXPORT_SYMBOL_GPL(mlx5_core_dealloc_q_counter); ...@@ -576,9 +533,7 @@ EXPORT_SYMBOL_GPL(mlx5_core_dealloc_q_counter);
int mlx5_core_query_q_counter(struct mlx5_core_dev *dev, u16 counter_id, int mlx5_core_query_q_counter(struct mlx5_core_dev *dev, u16 counter_id,
int reset, void *out, int out_size) int reset, void *out, int out_size)
{ {
u32 in[MLX5_ST_SZ_DW(query_q_counter_in)]; u32 in[MLX5_ST_SZ_DW(query_q_counter_in)] = {0};
memset(in, 0, sizeof(in));
MLX5_SET(query_q_counter_in, in, opcode, MLX5_CMD_OP_QUERY_Q_COUNTER); MLX5_SET(query_q_counter_in, in, opcode, MLX5_CMD_OP_QUERY_Q_COUNTER);
MLX5_SET(query_q_counter_in, in, clear, reset); MLX5_SET(query_q_counter_in, in, clear, reset);
......
...@@ -1966,7 +1966,10 @@ struct mlx5_ifc_qpc_bits { ...@@ -1966,7 +1966,10 @@ struct mlx5_ifc_qpc_bits {
u8 reserved_at_3e0[0x8]; u8 reserved_at_3e0[0x8];
u8 cqn_snd[0x18]; u8 cqn_snd[0x18];
u8 reserved_at_400[0x40]; u8 reserved_at_400[0x8];
u8 deth_sqpn[0x18];
u8 reserved_at_420[0x20];
u8 reserved_at_440[0x8]; u8 reserved_at_440[0x8];
u8 last_acked_psn[0x18]; u8 last_acked_psn[0x18];
......
...@@ -123,12 +123,13 @@ enum { ...@@ -123,12 +123,13 @@ enum {
}; };
enum { enum {
MLX5_NON_ZERO_RQ = 0 << 24, MLX5_NON_ZERO_RQ = 0x0,
MLX5_SRQ_RQ = 1 << 24, MLX5_SRQ_RQ = 0x1,
MLX5_CRQ_RQ = 2 << 24, MLX5_CRQ_RQ = 0x2,
MLX5_ZERO_LEN_RQ = 3 << 24 MLX5_ZERO_LEN_RQ = 0x3
}; };
/* TODO REM */
enum { enum {
/* params1 */ /* params1 */
MLX5_QP_BIT_SRE = 1 << 15, MLX5_QP_BIT_SRE = 1 << 15,
...@@ -177,12 +178,6 @@ enum { ...@@ -177,12 +178,6 @@ enum {
MLX5_FENCE_MODE_SMALL_AND_FENCE = 4 << 5, MLX5_FENCE_MODE_SMALL_AND_FENCE = 4 << 5,
}; };
enum {
MLX5_QP_LAT_SENSITIVE = 1 << 28,
MLX5_QP_BLOCK_MCAST = 1 << 30,
MLX5_QP_ENABLE_SIG = 1 << 31,
};
enum { enum {
MLX5_RCV_DBR = 0, MLX5_RCV_DBR = 0,
MLX5_SND_DBR = 1, MLX5_SND_DBR = 1,
...@@ -525,34 +520,6 @@ struct mlx5_qp_context { ...@@ -525,34 +520,6 @@ struct mlx5_qp_context {
u8 rsvd1[24]; u8 rsvd1[24];
}; };
struct mlx5_create_qp_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 input_qpn;
u8 rsvd0[4];
__be32 opt_param_mask;
u8 rsvd1[4];
struct mlx5_qp_context ctx;
u8 rsvd3[16];
__be64 pas[0];
};
struct mlx5_create_qp_mbox_out {
struct mlx5_outbox_hdr hdr;
__be32 qpn;
u8 rsvd0[4];
};
struct mlx5_destroy_qp_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 qpn;
u8 rsvd0[4];
};
struct mlx5_destroy_qp_mbox_out {
struct mlx5_outbox_hdr hdr;
u8 rsvd0[8];
};
struct mlx5_modify_qp_mbox_in { struct mlx5_modify_qp_mbox_in {
struct mlx5_inbox_hdr hdr; struct mlx5_inbox_hdr hdr;
__be32 qpn; __be32 qpn;
...@@ -568,56 +535,6 @@ struct mlx5_modify_qp_mbox_out { ...@@ -568,56 +535,6 @@ struct mlx5_modify_qp_mbox_out {
u8 rsvd0[8]; u8 rsvd0[8];
}; };
struct mlx5_query_qp_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 qpn;
u8 rsvd[4];
};
struct mlx5_query_qp_mbox_out {
struct mlx5_outbox_hdr hdr;
u8 rsvd1[8];
__be32 optparam;
u8 rsvd0[4];
struct mlx5_qp_context ctx;
u8 rsvd2[16];
__be64 pas[0];
};
struct mlx5_conf_sqp_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 qpn;
u8 rsvd[3];
u8 type;
};
struct mlx5_conf_sqp_mbox_out {
struct mlx5_outbox_hdr hdr;
u8 rsvd[8];
};
struct mlx5_alloc_xrcd_mbox_in {
struct mlx5_inbox_hdr hdr;
u8 rsvd[8];
};
struct mlx5_alloc_xrcd_mbox_out {
struct mlx5_outbox_hdr hdr;
__be32 xrcdn;
u8 rsvd[4];
};
struct mlx5_dealloc_xrcd_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 xrcdn;
u8 rsvd[4];
};
struct mlx5_dealloc_xrcd_mbox_out {
struct mlx5_outbox_hdr hdr;
u8 rsvd[8];
};
static inline struct mlx5_core_qp *__mlx5_qp_lookup(struct mlx5_core_dev *dev, u32 qpn) static inline struct mlx5_core_qp *__mlx5_qp_lookup(struct mlx5_core_dev *dev, u32 qpn)
{ {
return radix_tree_lookup(&dev->priv.qp_table.tree, qpn); return radix_tree_lookup(&dev->priv.qp_table.tree, qpn);
...@@ -628,20 +545,9 @@ static inline struct mlx5_core_mkey *__mlx5_mr_lookup(struct mlx5_core_dev *dev, ...@@ -628,20 +545,9 @@ static inline struct mlx5_core_mkey *__mlx5_mr_lookup(struct mlx5_core_dev *dev,
return radix_tree_lookup(&dev->priv.mkey_table.tree, key); return radix_tree_lookup(&dev->priv.mkey_table.tree, key);
} }
struct mlx5_page_fault_resume_mbox_in {
struct mlx5_inbox_hdr hdr;
__be32 flags_qpn;
u8 reserved[4];
};
struct mlx5_page_fault_resume_mbox_out {
struct mlx5_outbox_hdr hdr;
u8 rsvd[8];
};
int mlx5_core_create_qp(struct mlx5_core_dev *dev, int mlx5_core_create_qp(struct mlx5_core_dev *dev,
struct mlx5_core_qp *qp, struct mlx5_core_qp *qp,
struct mlx5_create_qp_mbox_in *in, u32 *in,
int inlen); int inlen);
int mlx5_core_qp_modify(struct mlx5_core_dev *dev, u16 operation, int mlx5_core_qp_modify(struct mlx5_core_dev *dev, u16 operation,
struct mlx5_modify_qp_mbox_in *in, int sqd_event, struct mlx5_modify_qp_mbox_in *in, int sqd_event,
...@@ -649,7 +555,7 @@ int mlx5_core_qp_modify(struct mlx5_core_dev *dev, u16 operation, ...@@ -649,7 +555,7 @@ int mlx5_core_qp_modify(struct mlx5_core_dev *dev, u16 operation,
int mlx5_core_destroy_qp(struct mlx5_core_dev *dev, int mlx5_core_destroy_qp(struct mlx5_core_dev *dev,
struct mlx5_core_qp *qp); struct mlx5_core_qp *qp);
int mlx5_core_qp_query(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp, int mlx5_core_qp_query(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp,
struct mlx5_query_qp_mbox_out *out, int outlen); u32 *out, int outlen);
int mlx5_core_xrcd_alloc(struct mlx5_core_dev *dev, u32 *xrcdn); int mlx5_core_xrcd_alloc(struct mlx5_core_dev *dev, u32 *xrcdn);
int mlx5_core_xrcd_dealloc(struct mlx5_core_dev *dev, u32 xrcdn); int mlx5_core_xrcd_dealloc(struct mlx5_core_dev *dev, u32 xrcdn);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment