loff_t pos)
{
if (unlikely(pos < 0))
- seq_puts(s, "# Index Port PD Rem.lid\n");
+ seq_puts(s, "# Index Port PD Rem.lid IPD\n");
else {
struct psif_ah *ah_p = get_ah(sdev, pos);
struct psif_ah lah;
copy_conv_to_sw(&lah, ah_p, sizeof(struct psif_ah));
- seq_printf(s, "%7lld %5d %5d %7d\n",
- pos, lah.port + 1, lah.pd, lah.remote_lid);
+ seq_printf(s, "%7lld %5d %5d %7d%5d\n",
+ pos, lah.port + 1, lah.pd, lah.remote_lid, lah.ipd);
}
}
loff_t pos)
{
struct sif_qp *qp;
+ struct sif_sq *sq;
+ struct sif_rq *rq;
volatile struct psif_qp *qps;
struct psif_qp lqps;
if (pos <= 3 && atomic_read(&sdev->sqp_usecnt[pos]) != 1)
return;
+ sq = get_sq(sdev, qp);
+ rq = get_rq(sdev, qp);
+
seq_printf(s, "%llu\t%d\t", pos, qp->last_set_state);
- if (qp->rq_idx == -1)
+ if (!rq)
seq_puts(s, "[none]");
else
seq_printf(s, "%u", lqps.state.rcv_cq_indx);
- seq_printf(s, "\t%u\t", lqps.state.send_cq_indx);
-
- if (qp->rq_idx == -1)
+ if (!sq)
seq_puts(s, "[none]");
+ else
+ seq_printf(s, "\t%u\t", lqps.state.send_cq_indx);
+
+ if (!rq)
+ if (!sq)
+ seq_puts(s, "\t[none]");
+ else
+ seq_puts(s, "[none]");
else
seq_printf(s, "%u", lqps.state.rq_indx);
seq_puts(s, "\t[GSI_QP_P1]\n");
else
seq_puts(s, "\t[GSI_QP_P2]\n");
+ else if (qp->ibqp.qp_type == IB_QPT_XRC_TGT)
+ seq_puts(s, "\t[RECV]\n");
+ else if (qp->ibqp.qp_type == IB_QPT_XRC_INI)
+ seq_puts(s, "\t[SEND]\n");
else
seq_puts(s, "\n");
}