Lines Matching refs:context

724 		qp->umem = ib_umem_get(pd->uobject->context, ucmd.buf_addr,  in create_qp_common()
741 err = mlx4_ib_db_map_user(to_mucontext(pd->uobject->context), in create_qp_common()
875 mlx4_ib_db_unmap_user(to_mucontext(pd->uobject->context), &qp->db); in create_qp_common()
1049 mlx4_ib_db_unmap_user(to_mucontext(qp->ibqp.uobject->context), in destroy_qp_common()
1424 struct mlx4_qp_context *context) in handle_eth_ud_smac_index() argument
1431 context->pri_path.sched_queue = MLX4_IB_DEFAULT_SCHED_QUEUE | ((qp->port - 1) << 6); in handle_eth_ud_smac_index()
1438 context->pri_path.grh_mylmc = 0x80 | (u8) smac_index; in handle_eth_ud_smac_index()
1454 struct mlx4_qp_context *context; in __mlx4_ib_modify_qp() local
1466 context = kzalloc(sizeof *context, GFP_KERNEL); in __mlx4_ib_modify_qp()
1467 if (!context) in __mlx4_ib_modify_qp()
1470 context->flags = cpu_to_be32((to_mlx4_state(new_state) << 28) | in __mlx4_ib_modify_qp()
1474 context->flags |= cpu_to_be32(MLX4_QP_PM_MIGRATED << 11); in __mlx4_ib_modify_qp()
1479 context->flags |= cpu_to_be32(MLX4_QP_PM_MIGRATED << 11); in __mlx4_ib_modify_qp()
1482 context->flags |= cpu_to_be32(MLX4_QP_PM_REARM << 11); in __mlx4_ib_modify_qp()
1485 context->flags |= cpu_to_be32(MLX4_QP_PM_ARMED << 11); in __mlx4_ib_modify_qp()
1491 context->mtu_msgmax = (IB_MTU_4096 << 5) | 11; in __mlx4_ib_modify_qp()
1493 context->mtu_msgmax = (MLX4_RAW_QP_MTU << 5) | MLX4_RAW_QP_MSGMAX; in __mlx4_ib_modify_qp()
1496 context->mtu_msgmax = (IB_MTU_4096 << 5) | in __mlx4_ib_modify_qp()
1499 context->mtu_msgmax = (IB_MTU_4096 << 5) | 12; in __mlx4_ib_modify_qp()
1506 context->mtu_msgmax = (attr->path_mtu << 5) | in __mlx4_ib_modify_qp()
1511 context->rq_size_stride = ilog2(qp->rq.wqe_cnt) << 3; in __mlx4_ib_modify_qp()
1512 context->rq_size_stride |= qp->rq.wqe_shift - 4; in __mlx4_ib_modify_qp()
1515 context->sq_size_stride = ilog2(qp->sq.wqe_cnt) << 3; in __mlx4_ib_modify_qp()
1516 context->sq_size_stride |= qp->sq.wqe_shift - 4; in __mlx4_ib_modify_qp()
1519 context->sq_size_stride |= !!qp->sq_no_prefetch << 7; in __mlx4_ib_modify_qp()
1520 context->xrcd = cpu_to_be32((u32) qp->xrcdn); in __mlx4_ib_modify_qp()
1522 context->param3 |= cpu_to_be32(1 << 30); in __mlx4_ib_modify_qp()
1526 context->usr_page = cpu_to_be32(to_mucontext(ibqp->uobject->context)->uar.index); in __mlx4_ib_modify_qp()
1528 context->usr_page = cpu_to_be32(dev->priv_uar.index); in __mlx4_ib_modify_qp()
1531 context->remote_qpn = cpu_to_be32(attr->dest_qp_num); in __mlx4_ib_modify_qp()
1536 mlx4_set_sched(&context->pri_path, attr->port_num); in __mlx4_ib_modify_qp()
1543 context->pri_path.counter_index = in __mlx4_ib_modify_qp()
1547 context->pri_path.counter_index = 0xff; in __mlx4_ib_modify_qp()
1557 context->pri_path.disable_pkey_check = 0x40; in __mlx4_ib_modify_qp()
1558 context->pri_path.pkey_index = attr->pkey_index; in __mlx4_ib_modify_qp()
1563 if (mlx4_set_path(dev, attr, attr_mask, qp, &context->pri_path, in __mlx4_ib_modify_qp()
1573 context->pri_path.ackto |= attr->timeout << 3; in __mlx4_ib_modify_qp()
1587 &context->alt_path, in __mlx4_ib_modify_qp()
1591 context->alt_path.pkey_index = attr->alt_pkey_index; in __mlx4_ib_modify_qp()
1592 context->alt_path.ackto = attr->alt_timeout << 3; in __mlx4_ib_modify_qp()
1598 context->pd = cpu_to_be32(pd->pdn); in __mlx4_ib_modify_qp()
1599 context->cqn_send = cpu_to_be32(send_cq->mcq.cqn); in __mlx4_ib_modify_qp()
1600 context->cqn_recv = cpu_to_be32(recv_cq->mcq.cqn); in __mlx4_ib_modify_qp()
1601 context->params1 = cpu_to_be32(MLX4_IB_ACK_REQ_FREQ << 28); in __mlx4_ib_modify_qp()
1605 context->params1 |= cpu_to_be32(1 << 11); in __mlx4_ib_modify_qp()
1608 context->params1 |= cpu_to_be32(attr->rnr_retry << 13); in __mlx4_ib_modify_qp()
1613 context->params1 |= cpu_to_be32(attr->retry_cnt << 16); in __mlx4_ib_modify_qp()
1619 context->params1 |= in __mlx4_ib_modify_qp()
1625 context->next_send_psn = cpu_to_be32(attr->sq_psn); in __mlx4_ib_modify_qp()
1629 context->params2 |= in __mlx4_ib_modify_qp()
1635 context->params2 |= to_mlx4_access_flags(qp, attr, attr_mask); in __mlx4_ib_modify_qp()
1640 context->params2 |= cpu_to_be32(MLX4_QP_BIT_RIC); in __mlx4_ib_modify_qp()
1643 context->rnr_nextrecvpsn |= cpu_to_be32(attr->min_rnr_timer << 24); in __mlx4_ib_modify_qp()
1647 context->rnr_nextrecvpsn |= cpu_to_be32(attr->rq_psn); in __mlx4_ib_modify_qp()
1653 context->qkey = cpu_to_be32(IB_QP_SET_QKEY); in __mlx4_ib_modify_qp()
1665 context->qkey = cpu_to_be32(attr->qkey); in __mlx4_ib_modify_qp()
1671 context->srqn = cpu_to_be32(1 << 24 | to_msrq(ibqp->srq)->msrq.srqn); in __mlx4_ib_modify_qp()
1674 context->db_rec_addr = cpu_to_be64(qp->db.dma); in __mlx4_ib_modify_qp()
1681 context->pri_path.sched_queue = (qp->port - 1) << 6; in __mlx4_ib_modify_qp()
1685 context->pri_path.sched_queue |= MLX4_IB_DEFAULT_QP0_SCHED_QUEUE; in __mlx4_ib_modify_qp()
1687 context->pri_path.fl = 0x80; in __mlx4_ib_modify_qp()
1690 context->pri_path.fl = 0x80; in __mlx4_ib_modify_qp()
1691 context->pri_path.sched_queue |= MLX4_IB_DEFAULT_SCHED_QUEUE; in __mlx4_ib_modify_qp()
1697 context->pri_path.feup = 1 << 7; /* don't fsm */ in __mlx4_ib_modify_qp()
1702 err = handle_eth_ud_smac_index(dev, qp, (u8 *)attr->smac, context); in __mlx4_ib_modify_qp()
1714 context->pri_path.ackto = (context->pri_path.ackto & 0xf8) | in __mlx4_ib_modify_qp()
1718 if (!(context->flags & cpu_to_be32(1 << MLX4_RSS_QPC_FLAG_OFFSET))) in __mlx4_ib_modify_qp()
1719 context->srqn = cpu_to_be32(7 << 28); in __mlx4_ib_modify_qp()
1728 context->pri_path.ackto = MLX4_IB_LINK_TYPE_ETH; in __mlx4_ib_modify_qp()
1741 context->rlkey |= (1 << 4); in __mlx4_ib_modify_qp()
1764 to_mlx4_state(new_state), context, optpar, in __mlx4_ib_modify_qp()
1848 kfree(context); in __mlx4_ib_modify_qp()
3120 struct mlx4_qp_context context; in mlx4_ib_query_qp() local
3131 err = mlx4_qp_query(dev->dev, &qp->mqp, &context); in mlx4_ib_query_qp()
3137 mlx4_state = be32_to_cpu(context.flags) >> 28; in mlx4_ib_query_qp()
3141 qp_attr->path_mtu = context.mtu_msgmax >> 5; in mlx4_ib_query_qp()
3143 to_ib_mig_state((be32_to_cpu(context.flags) >> 11) & 0x3); in mlx4_ib_query_qp()
3144 qp_attr->qkey = be32_to_cpu(context.qkey); in mlx4_ib_query_qp()
3145 qp_attr->rq_psn = be32_to_cpu(context.rnr_nextrecvpsn) & 0xffffff; in mlx4_ib_query_qp()
3146 qp_attr->sq_psn = be32_to_cpu(context.next_send_psn) & 0xffffff; in mlx4_ib_query_qp()
3147 qp_attr->dest_qp_num = be32_to_cpu(context.remote_qpn) & 0xffffff; in mlx4_ib_query_qp()
3149 to_ib_qp_access_flags(be32_to_cpu(context.params2)); in mlx4_ib_query_qp()
3152 to_ib_ah_attr(dev, &qp_attr->ah_attr, &context.pri_path); in mlx4_ib_query_qp()
3153 to_ib_ah_attr(dev, &qp_attr->alt_ah_attr, &context.alt_path); in mlx4_ib_query_qp()
3154 qp_attr->alt_pkey_index = context.alt_path.pkey_index & 0x7f; in mlx4_ib_query_qp()
3158 qp_attr->pkey_index = context.pri_path.pkey_index & 0x7f; in mlx4_ib_query_qp()
3162 qp_attr->port_num = context.pri_path.sched_queue & 0x40 ? 2 : 1; in mlx4_ib_query_qp()
3167 qp_attr->max_rd_atomic = 1 << ((be32_to_cpu(context.params1) >> 21) & 0x7); in mlx4_ib_query_qp()
3170 1 << ((be32_to_cpu(context.params2) >> 21) & 0x7); in mlx4_ib_query_qp()
3172 (be32_to_cpu(context.rnr_nextrecvpsn) >> 24) & 0x1f; in mlx4_ib_query_qp()
3173 qp_attr->timeout = context.pri_path.ackto >> 3; in mlx4_ib_query_qp()
3174 qp_attr->retry_cnt = (be32_to_cpu(context.params1) >> 16) & 0x7; in mlx4_ib_query_qp()
3175 qp_attr->rnr_retry = (be32_to_cpu(context.params1) >> 13) & 0x7; in mlx4_ib_query_qp()
3176 qp_attr->alt_timeout = context.alt_path.ackto >> 3; in mlx4_ib_query_qp()