]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sif: qp/ah: Added XRC QPs & IPD(AH) to debugfs output
authorVinay Shaw <vinay.shaw@oracle.com>
Thu, 2 Jun 2016 22:32:15 +0000 (00:32 +0200)
committerKnut Omang <knut.omang@oracle.com>
Sun, 3 Jul 2016 14:01:40 +0000 (16:01 +0200)
Signed-off-by: Vinay Shaw <vinay.shaw@oracle.com>
Reviewed-by: Knut Omang <knut.omang@oracle.com>
drivers/infiniband/hw/sif/sif_ah.c
drivers/infiniband/hw/sif/sif_qp.c

index 6d76057b43c9e11dd84415ca0755ac7eaff4b513..5a7f16761eafbfa665955649efcd7432fd579cae 100644 (file)
@@ -154,13 +154,13 @@ void sif_dfs_print_ah(struct seq_file *s, struct sif_dev *sdev,
                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);
        }
 }
index f804b27baee1bbf5cc4bb8c54eb7169019090913..b0733dbb01bc5d873a65c3aa1654220dbe427c30 100644 (file)
@@ -2393,6 +2393,8 @@ void sif_dfs_print_qp(struct seq_file *s, struct sif_dev *sdev,
                loff_t pos)
 {
        struct sif_qp *qp;
+       struct sif_sq *sq;
+       struct sif_rq *rq;
        volatile struct psif_qp *qps;
        struct psif_qp lqps;
 
@@ -2408,17 +2410,26 @@ void sif_dfs_print_qp(struct seq_file *s, struct sif_dev *sdev,
        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);
 
@@ -2457,6 +2468,10 @@ void sif_dfs_print_qp(struct seq_file *s, struct sif_dev *sdev,
                        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");
 }