Lines Matching refs:sqp_ctx
1362 struct mlx4_ib_demux_pv_ctx *sqp_ctx; in mlx4_ib_send_to_wire() local
1372 sqp_ctx = dev->sriov.sqps[port-1]; in mlx4_ib_send_to_wire()
1375 if (!sqp_ctx || sqp_ctx->state != DEMUX_PV_STATE_ACTIVE) in mlx4_ib_send_to_wire()
1380 sqp = &sqp_ctx->qp[0]; in mlx4_ib_send_to_wire()
1384 sqp = &sqp_ctx->qp[1]; in mlx4_ib_send_to_wire()
1390 ah = rdma_zalloc_drv_obj(sqp_ctx->pd->device, ib_ah); in mlx4_ib_send_to_wire()
1394 ah->device = sqp_ctx->pd->device; in mlx4_ib_send_to_wire()
1395 ah->pd = sqp_ctx->pd; in mlx4_ib_send_to_wire()
1431 list.lkey = sqp_ctx->pd->local_dma_lkey; in mlx4_ib_send_to_wire()
2238 static void mlx4_ib_free_sqp_ctx(struct mlx4_ib_demux_pv_ctx *sqp_ctx) in mlx4_ib_free_sqp_ctx() argument
2240 if (sqp_ctx->state > DEMUX_PV_STATE_DOWN) { in mlx4_ib_free_sqp_ctx()
2241 sqp_ctx->state = DEMUX_PV_STATE_DOWNING; in mlx4_ib_free_sqp_ctx()
2242 flush_workqueue(sqp_ctx->wq); in mlx4_ib_free_sqp_ctx()
2243 if (sqp_ctx->has_smi) { in mlx4_ib_free_sqp_ctx()
2244 ib_destroy_qp(sqp_ctx->qp[0].qp); in mlx4_ib_free_sqp_ctx()
2245 sqp_ctx->qp[0].qp = NULL; in mlx4_ib_free_sqp_ctx()
2246 mlx4_ib_free_pv_qp_bufs(sqp_ctx, IB_QPT_SMI, 0); in mlx4_ib_free_sqp_ctx()
2248 ib_destroy_qp(sqp_ctx->qp[1].qp); in mlx4_ib_free_sqp_ctx()
2249 sqp_ctx->qp[1].qp = NULL; in mlx4_ib_free_sqp_ctx()
2250 mlx4_ib_free_pv_qp_bufs(sqp_ctx, IB_QPT_GSI, 0); in mlx4_ib_free_sqp_ctx()
2251 ib_dealloc_pd(sqp_ctx->pd); in mlx4_ib_free_sqp_ctx()
2252 sqp_ctx->pd = NULL; in mlx4_ib_free_sqp_ctx()
2253 ib_destroy_cq(sqp_ctx->cq); in mlx4_ib_free_sqp_ctx()
2254 sqp_ctx->cq = NULL; in mlx4_ib_free_sqp_ctx()
2255 sqp_ctx->state = DEMUX_PV_STATE_DOWN; in mlx4_ib_free_sqp_ctx()