cxgb4: Report tid start range correctly for T6
authorGanesh Goudar <ganeshgr@chelsio.com>
Mon, 18 Dec 2017 14:15:22 +0000 (19:45 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Dec 2017 18:54:37 +0000 (13:54 -0500)
For T6, tid start range should be read from
LE_DB_ACTIVE_TABLE_START_INDEX_A register.

Signed-off-by: Arjun Vynipadath <arjun@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c

index 4956e42..d8efcd9 100644 (file)
@@ -2668,10 +2668,14 @@ static const struct file_operations mem_debugfs_fops = {
 
 static int tid_info_show(struct seq_file *seq, void *v)
 {
+       unsigned int tid_start = 0;
        struct adapter *adap = seq->private;
        const struct tid_info *t = &adap->tids;
        enum chip_type chip = CHELSIO_CHIP_VERSION(adap->params.chip);
 
+       if (chip > CHELSIO_T5)
+               tid_start = t4_read_reg(adap, LE_DB_ACTIVE_TABLE_START_INDEX_A);
+
        if (t4_read_reg(adap, LE_DB_CONFIG_A) & HASHEN_F) {
                unsigned int sb;
                seq_printf(seq, "Connections in use: %u\n",
@@ -2683,8 +2687,8 @@ static int tid_info_show(struct seq_file *seq, void *v)
                        sb = t4_read_reg(adap, LE_DB_SRVR_START_INDEX_A);
 
                if (sb) {
-                       seq_printf(seq, "TID range: 0..%u/%u..%u", sb - 1,
-                                  adap->tids.hash_base,
+                       seq_printf(seq, "TID range: %u..%u/%u..%u", tid_start,
+                                  sb - 1, adap->tids.hash_base,
                                   t->ntids - 1);
                        seq_printf(seq, ", in use: %u/%u\n",
                                   atomic_read(&t->tids_in_use),
@@ -2709,7 +2713,8 @@ static int tid_info_show(struct seq_file *seq, void *v)
                seq_printf(seq, "Connections in use: %u\n",
                           atomic_read(&t->conns_in_use));
 
-               seq_printf(seq, "TID range: 0..%u", t->ntids - 1);
+               seq_printf(seq, "TID range: %u..%u", tid_start,
+                          tid_start + t->ntids - 1);
                seq_printf(seq, ", in use: %u\n",
                           atomic_read(&t->tids_in_use));
        }