Lines Matching defs:vhcr
516 struct mlx4_vhcr_cmd *vhcr = priv->mfunc.vhcr;
521 vhcr->in_param = cpu_to_be64(in_param);
522 vhcr->out_param = out_param ? cpu_to_be64(*out_param) : 0;
523 vhcr->in_modifier = cpu_to_be32(in_modifier);
524 vhcr->opcode = cpu_to_be16((((u16) op_modifier) << 12) | (op & 0xfff));
525 vhcr->token = cpu_to_be16(CMD_POLL_TOKEN);
526 vhcr->status = 0;
527 vhcr->flags = !!(priv->cmd.use_events) << 6;
530 ret = mlx4_master_process_vhcr(dev, dev->caps.function, vhcr);
535 be64_to_cpu(vhcr->out_param);
539 vhcr->status = CMD_STAT_BAD_PARAM;
542 ret = mlx4_status_to_errno(vhcr->status);
554 be64_to_cpu(vhcr->out_param);
558 vhcr->status = CMD_STAT_BAD_PARAM;
561 ret = mlx4_status_to_errno(vhcr->status);
892 struct mlx4_vhcr *vhcr,
911 slave_port = vhcr->in_modifier;
915 opcode_modifier = vhcr->op_modifier & ~0x8; /* clear netw view bit */
916 network_view = !!(vhcr->op_modifier & 0x8);
951 vhcr->op, MLX4_CMD_TIME_CLASS_C, MLX4_CMD_NATIVE);
974 vhcr->in_modifier,
976 vhcr->op,
995 vhcr->op, MLX4_CMD_TIME_CLASS_C, MLX4_CMD_NATIVE);
1021 vhcr->in_modifier, opcode_modifier,
1022 vhcr->op, MLX4_CMD_TIME_CLASS_C, MLX4_CMD_NATIVE);
1026 struct mlx4_vhcr *vhcr,
1035 struct mlx4_vhcr *vhcr,
1044 in_param = cmd->has_inbox ? (u64) inbox->dma : vhcr->in_param;
1045 out_param = cmd->has_outbox ? (u64) outbox->dma : vhcr->out_param;
1052 vhcr->in_modifier, vhcr->op_modifier, vhcr->op,
1056 vhcr->out_param = out_param;
1666 struct mlx4_vhcr_cmd *vhcr_cmd = in_vhcr ? in_vhcr : priv->mfunc.vhcr;
1667 struct mlx4_vhcr *vhcr;
1677 vhcr = kzalloc(sizeof(struct mlx4_vhcr), GFP_KERNEL);
1678 if (!vhcr)
1690 mlx4_err(dev, "%s: Failed reading vhcr ret: 0x%x\n",
1692 kfree(vhcr);
1698 vhcr->in_param = be64_to_cpu(vhcr_cmd->in_param);
1699 vhcr->out_param = be64_to_cpu(vhcr_cmd->out_param);
1700 vhcr->in_modifier = be32_to_cpu(vhcr_cmd->in_modifier);
1701 vhcr->token = be16_to_cpu(vhcr_cmd->token);
1702 vhcr->op = be16_to_cpu(vhcr_cmd->opcode) & 0xfff;
1703 vhcr->op_modifier = (u8) (be16_to_cpu(vhcr_cmd->opcode) >> 12);
1704 vhcr->e_bit = vhcr_cmd->flags & (1 << 6);
1708 if (vhcr->op == cmd_info[i].opcode) {
1715 vhcr->op, slave);
1722 vhcr->in_param &= INBOX_MASK;
1731 vhcr->in_param,
1744 if (cmd->verify && cmd->verify(dev, slave, vhcr, inbox)) {
1746 vhcr->op, slave, vhcr->in_modifier);
1763 err = cmd->wrapper(dev, slave, vhcr, inbox, outbox,
1766 vhcr_cmd->out_param = cpu_to_be64(vhcr->out_param);
1769 vhcr->in_param;
1771 vhcr->out_param;
1773 cmd->out_is_imm, vhcr->in_modifier,
1774 vhcr->op_modifier, vhcr->op,
1779 vhcr->out_param = out_param;
1780 vhcr_cmd->out_param = cpu_to_be64(vhcr->out_param);
1786 if (vhcr->op == MLX4_CMD_ALLOC_RES &&
1787 (vhcr->in_modifier & 0xff) == RES_COUNTER &&
1793 mlx4_warn(dev, "vhcr command:0x%x slave:%d failed with error:%d, status %d\n",
1794 vhcr->op, slave, vhcr->errno, err);
1804 vhcr->out_param,
1818 /* DMA back vhcr result */
1826 mlx4_err(dev, "%s:Failed writing vhcr result\n",
1828 else if (vhcr->e_bit &&
1835 kfree(vhcr);
2167 mlx4_err(dev, "Failed processing vhcr for slave:%d, resetting slave\n",
2488 priv->mfunc.vhcr,
2490 priv->mfunc.vhcr = NULL;
2519 if (mlx4_is_mfunc(dev) && !priv->mfunc.vhcr) {
2520 priv->mfunc.vhcr = dma_alloc_coherent(&dev->persist->pdev->dev,
2524 if (!priv->mfunc.vhcr)
2607 if (mlx4_is_mfunc(dev) && priv->mfunc.vhcr &&
2610 priv->mfunc.vhcr, priv->mfunc.vhcr_dma);
2611 priv->mfunc.vhcr = NULL;