Lines Matching defs:wc

454 			  enum ib_qp_type dest_qpt, struct ib_wc *wc,
493 ret = ib_get_cached_pkey(&dev->ib_dev, port, wc->pkey_index, &cached_pkey);
548 tun_mad->hdr.sl_vid = cpu_to_be16(((u16)(wc->sl)) << 12);
549 tun_mad->hdr.slid_mac_47_32 = cpu_to_be16(wc->slid);
550 tun_mad->hdr.flags_src_qp = cpu_to_be32(wc->src_qp & 0xFFFFFF);
551 tun_mad->hdr.g_ml_path = (grh && (wc->wc_flags & IB_WC_GRH)) ? 0x80 : 0;
581 struct ib_wc *wc, struct ib_grh *grh,
596 if (!wc->wc_flags & IB_WC_GRH) {
617 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad);
636 if (wc->wc_flags & IB_WC_GRH) {
673 err = mlx4_ib_send_to_slave(dev, slave, port, wc->qp->qp_type, wc, grh, mad);
1426 static void mlx4_ib_multiplex_mad(struct mlx4_ib_demux_pv_ctx *ctx, struct ib_wc *wc)
1429 struct mlx4_ib_demux_pv_qp *tun_qp = &ctx->qp[MLX4_TUN_WRID_QPN(wc->wr_id)];
1430 int wr_ix = wc->wr_id & (MLX4_NUM_TUNNEL_BUFS - 1);
1438 if (wc->src_qp < dev->dev->phys_caps.base_proxy_sqpn ||
1439 wc->src_qp >= dev->dev->phys_caps.base_proxy_sqpn + 8 * MLX4_MFUNC_MAX ||
1440 (wc->src_qp & 0x1) != ctx->port - 1 ||
1441 wc->src_qp & 0x4) {
1442 mlx4_ib_warn(ctx->ib_dev, "can't multiplex bad sqp:%d\n", wc->src_qp);
1445 slave = ((wc->src_qp & ~0x7) - dev->dev->phys_caps.base_proxy_sqpn) / 8;
1448 "belongs to another slave\n", wc->src_qp);
1451 if (slave != mlx4_master_func_num(dev->dev) && !(wc->src_qp & 0x2)) {
1453 "non-master trying to send QP0 packets\n", wc->src_qp);
1517 is_proxy_qp0(dev, wc->src_qp, slave) ?
1651 struct ib_wc wc;
1656 while (ib_poll_cq(ctx->cq, 1, &wc) == 1) {
1657 tun_qp = &ctx->qp[MLX4_TUN_WRID_QPN(wc.wr_id)];
1658 if (wc.status == IB_WC_SUCCESS) {
1659 switch (wc.opcode) {
1661 mlx4_ib_multiplex_mad(ctx, &wc);
1663 wc.wr_id &
1667 "buf:%lld\n", wc.wr_id);
1672 wc.wr_id, wc.status);
1673 ib_destroy_ah(tun_qp->tx_ring[wc.wr_id &
1675 tun_qp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah
1688 ctx->slave, wc.status, wc.wr_id);
1689 if (!MLX4_TUN_IS_RECV(wc.wr_id)) {
1690 ib_destroy_ah(tun_qp->tx_ring[wc.wr_id &
1692 tun_qp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah
1809 struct ib_wc wc;
1816 while (mlx4_ib_poll_cq(ctx->cq, 1, &wc) == 1) {
1817 sqp = &ctx->qp[MLX4_TUN_WRID_QPN(wc.wr_id)];
1818 if (wc.status == IB_WC_SUCCESS) {
1819 switch (wc.opcode) {
1821 ib_destroy_ah(sqp->tx_ring[wc.wr_id &
1823 sqp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah
1831 (sqp->ring[wc.wr_id &
1834 (sqp->ring[wc.wr_id &
1836 mlx4_ib_demux_mad(ctx->ib_dev, ctx->port, &wc, grh, mad);
1837 if (mlx4_ib_post_pv_qp_buf(ctx, sqp, wc.wr_id &
1840 "buf:%lld\n", wc.wr_id);
1849 ctx->slave, wc.status, wc.wr_id);
1850 if (!MLX4_TUN_IS_RECV(wc.wr_id)) {
1851 ib_destroy_ah(sqp->tx_ring[wc.wr_id &
1853 sqp->tx_ring[wc.wr_id & (MLX4_NUM_TUNNEL_BUFS - 1)].ah