Commit f4fc6e04 authored by Doug Ledford's avatar Doug Ledford

Merge tag 'mlx5-updates-2018-05-07' of...

Merge tag 'mlx5-updates-2018-05-07' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux into k.o/wip/dl-for-next

mlx5-updates-2018-05-07

mlx5 core driver misc cleanups and updates:
 - fix spelling mistake: "modfiy" -> "modify"
 - Cleanup unused field in Work Queue parameters
 - dump_command mailbox length printed
 - Refactor num of blocks in mailbox calculation
 - Decrease level of prints about non-existent MKEY
 - remove some extraneous spaces in indentations

Pulling the same update already pulled into net-next by Dave Miller.
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parents 832369fa a8408f4e
...@@ -135,6 +135,14 @@ static struct mlx5_cmd_layout *get_inst(struct mlx5_cmd *cmd, int idx) ...@@ -135,6 +135,14 @@ static struct mlx5_cmd_layout *get_inst(struct mlx5_cmd *cmd, int idx)
return cmd->cmd_buf + (idx << cmd->log_stride); return cmd->cmd_buf + (idx << cmd->log_stride);
} }
static int mlx5_calc_cmd_blocks(struct mlx5_cmd_msg *msg)
{
int size = msg->len;
int blen = size - min_t(int, sizeof(msg->first.data), size);
return DIV_ROUND_UP(blen, MLX5_CMD_DATA_BLOCK_SIZE);
}
static u8 xor8_buf(void *buf, size_t offset, int len) static u8 xor8_buf(void *buf, size_t offset, int len)
{ {
u8 *ptr = buf; u8 *ptr = buf;
...@@ -174,10 +182,7 @@ static void calc_block_sig(struct mlx5_cmd_prot_block *block) ...@@ -174,10 +182,7 @@ static void calc_block_sig(struct mlx5_cmd_prot_block *block)
static void calc_chain_sig(struct mlx5_cmd_msg *msg) static void calc_chain_sig(struct mlx5_cmd_msg *msg)
{ {
struct mlx5_cmd_mailbox *next = msg->next; struct mlx5_cmd_mailbox *next = msg->next;
int size = msg->len; int n = mlx5_calc_cmd_blocks(msg);
int blen = size - min_t(int, sizeof(msg->first.data), size);
int n = (blen + MLX5_CMD_DATA_BLOCK_SIZE - 1)
/ MLX5_CMD_DATA_BLOCK_SIZE;
int i = 0; int i = 0;
for (i = 0; i < n && next; i++) { for (i = 0; i < n && next; i++) {
...@@ -220,12 +225,9 @@ static void free_cmd(struct mlx5_cmd_work_ent *ent) ...@@ -220,12 +225,9 @@ static void free_cmd(struct mlx5_cmd_work_ent *ent)
static int verify_signature(struct mlx5_cmd_work_ent *ent) static int verify_signature(struct mlx5_cmd_work_ent *ent)
{ {
struct mlx5_cmd_mailbox *next = ent->out->next; struct mlx5_cmd_mailbox *next = ent->out->next;
int n = mlx5_calc_cmd_blocks(ent->out);
int err; int err;
u8 sig; u8 sig;
int size = ent->out->len;
int blen = size - min_t(int, sizeof(ent->out->first.data), size);
int n = (blen + MLX5_CMD_DATA_BLOCK_SIZE - 1)
/ MLX5_CMD_DATA_BLOCK_SIZE;
int i = 0; int i = 0;
sig = xor8_buf(ent->lay, 0, sizeof(*ent->lay)); sig = xor8_buf(ent->lay, 0, sizeof(*ent->lay));
...@@ -720,9 +722,11 @@ static void dump_command(struct mlx5_core_dev *dev, ...@@ -720,9 +722,11 @@ static void dump_command(struct mlx5_core_dev *dev,
struct mlx5_cmd_msg *msg = input ? ent->in : ent->out; struct mlx5_cmd_msg *msg = input ? ent->in : ent->out;
u16 op = MLX5_GET(mbox_in, ent->lay->in, opcode); u16 op = MLX5_GET(mbox_in, ent->lay->in, opcode);
struct mlx5_cmd_mailbox *next = msg->next; struct mlx5_cmd_mailbox *next = msg->next;
int n = mlx5_calc_cmd_blocks(msg);
int data_only; int data_only;
u32 offset = 0; u32 offset = 0;
int dump_len; int dump_len;
int i;
data_only = !!(mlx5_core_debug_mask & (1 << MLX5_CMD_DATA)); data_only = !!(mlx5_core_debug_mask & (1 << MLX5_CMD_DATA));
...@@ -749,7 +753,7 @@ static void dump_command(struct mlx5_core_dev *dev, ...@@ -749,7 +753,7 @@ static void dump_command(struct mlx5_core_dev *dev,
offset += sizeof(*ent->lay); offset += sizeof(*ent->lay);
} }
while (next && offset < msg->len) { for (i = 0; i < n && next; i++) {
if (data_only) { if (data_only) {
dump_len = min_t(int, MLX5_CMD_DATA_BLOCK_SIZE, msg->len - offset); dump_len = min_t(int, MLX5_CMD_DATA_BLOCK_SIZE, msg->len - offset);
dump_buf(next->buf, dump_len, 1, offset); dump_buf(next->buf, dump_len, 1, offset);
...@@ -1137,7 +1141,6 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev, ...@@ -1137,7 +1141,6 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev,
struct mlx5_cmd_mailbox *tmp, *head = NULL; struct mlx5_cmd_mailbox *tmp, *head = NULL;
struct mlx5_cmd_prot_block *block; struct mlx5_cmd_prot_block *block;
struct mlx5_cmd_msg *msg; struct mlx5_cmd_msg *msg;
int blen;
int err; int err;
int n; int n;
int i; int i;
...@@ -1146,8 +1149,8 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev, ...@@ -1146,8 +1149,8 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev,
if (!msg) if (!msg)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
blen = size - min_t(int, sizeof(msg->first.data), size); msg->len = size;
n = (blen + MLX5_CMD_DATA_BLOCK_SIZE - 1) / MLX5_CMD_DATA_BLOCK_SIZE; n = mlx5_calc_cmd_blocks(msg);
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
tmp = alloc_cmd_box(dev, flags); tmp = alloc_cmd_box(dev, flags);
...@@ -1165,7 +1168,6 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev, ...@@ -1165,7 +1168,6 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev,
head = tmp; head = tmp;
} }
msg->next = head; msg->next = head;
msg->len = size;
return msg; return msg;
err_alloc: err_alloc:
......
...@@ -565,7 +565,7 @@ static void arfs_modify_rule_rq(struct mlx5e_priv *priv, ...@@ -565,7 +565,7 @@ static void arfs_modify_rule_rq(struct mlx5e_priv *priv,
err = mlx5_modify_rule_destination(rule, &dst, NULL); err = mlx5_modify_rule_destination(rule, &dst, NULL);
if (err) if (err)
netdev_warn(priv->netdev, netdev_warn(priv->netdev,
"Failed to modfiy aRFS rule destination to rq=%d\n", rxq); "Failed to modify aRFS rule destination to rq=%d\n", rxq);
} }
static void arfs_handle_work(struct work_struct *work) static void arfs_handle_work(struct work_struct *work)
......
...@@ -1896,7 +1896,6 @@ static void mlx5e_build_rq_param(struct mlx5e_priv *priv, ...@@ -1896,7 +1896,6 @@ static void mlx5e_build_rq_param(struct mlx5e_priv *priv,
MLX5_SET(rqc, rqc, scatter_fcs, params->scatter_fcs_en); MLX5_SET(rqc, rqc, scatter_fcs, params->scatter_fcs_en);
param->wq.buf_numa_node = dev_to_node(&mdev->pdev->dev); param->wq.buf_numa_node = dev_to_node(&mdev->pdev->dev);
param->wq.linear = 1;
} }
static void mlx5e_build_drop_rq_param(struct mlx5e_priv *priv, static void mlx5e_build_drop_rq_param(struct mlx5e_priv *priv,
......
...@@ -123,8 +123,8 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, ...@@ -123,8 +123,8 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev,
deleted_mkey = radix_tree_delete(&table->tree, mlx5_base_mkey(mkey->key)); deleted_mkey = radix_tree_delete(&table->tree, mlx5_base_mkey(mkey->key));
write_unlock_irqrestore(&table->lock, flags); write_unlock_irqrestore(&table->lock, flags);
if (!deleted_mkey) { if (!deleted_mkey) {
mlx5_core_warn(dev, "failed radix tree delete of mkey 0x%x\n", mlx5_core_dbg(dev, "failed radix tree delete of mkey 0x%x\n",
mlx5_base_mkey(mkey->key)); mlx5_base_mkey(mkey->key));
return -ENOENT; return -ENOENT;
} }
......
...@@ -407,21 +407,21 @@ static int modify_qp_mbox_alloc(struct mlx5_core_dev *dev, u16 opcode, int qpn, ...@@ -407,21 +407,21 @@ static int modify_qp_mbox_alloc(struct mlx5_core_dev *dev, u16 opcode, int qpn,
case MLX5_CMD_OP_RST2INIT_QP: case MLX5_CMD_OP_RST2INIT_QP:
if (MBOX_ALLOC(mbox, rst2init_qp)) if (MBOX_ALLOC(mbox, rst2init_qp))
return -ENOMEM; return -ENOMEM;
MOD_QP_IN_SET_QPC(rst2init_qp, mbox->in, opcode, qpn, MOD_QP_IN_SET_QPC(rst2init_qp, mbox->in, opcode, qpn,
opt_param_mask, qpc); opt_param_mask, qpc);
break; break;
case MLX5_CMD_OP_INIT2RTR_QP: case MLX5_CMD_OP_INIT2RTR_QP:
if (MBOX_ALLOC(mbox, init2rtr_qp)) if (MBOX_ALLOC(mbox, init2rtr_qp))
return -ENOMEM; return -ENOMEM;
MOD_QP_IN_SET_QPC(init2rtr_qp, mbox->in, opcode, qpn, MOD_QP_IN_SET_QPC(init2rtr_qp, mbox->in, opcode, qpn,
opt_param_mask, qpc); opt_param_mask, qpc);
break; break;
case MLX5_CMD_OP_RTR2RTS_QP: case MLX5_CMD_OP_RTR2RTS_QP:
if (MBOX_ALLOC(mbox, rtr2rts_qp)) if (MBOX_ALLOC(mbox, rtr2rts_qp))
return -ENOMEM; return -ENOMEM;
MOD_QP_IN_SET_QPC(rtr2rts_qp, mbox->in, opcode, qpn, MOD_QP_IN_SET_QPC(rtr2rts_qp, mbox->in, opcode, qpn,
opt_param_mask, qpc); opt_param_mask, qpc);
break; break;
case MLX5_CMD_OP_RTS2RTS_QP: case MLX5_CMD_OP_RTS2RTS_QP:
if (MBOX_ALLOC(mbox, rts2rts_qp)) if (MBOX_ALLOC(mbox, rts2rts_qp))
return -ENOMEM; return -ENOMEM;
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include <linux/mlx5/qp.h> #include <linux/mlx5/qp.h>
struct mlx5_wq_param { struct mlx5_wq_param {
int linear;
int buf_numa_node; int buf_numa_node;
int db_numa_node; int db_numa_node;
}; };
......
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