Author: np
Date: Wed Dec 14 07:36:36 2016
New Revision: 310049
URL: https://svnweb.freebsd.org/changeset/base/310049

Log:
  cxgbe(4): Fix the tid range shown for T6 cards in misc.tids.
  
  MFC after:    3 days

Modified:
  head/sys/dev/cxgbe/t4_main.c

Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c        Wed Dec 14 03:20:57 2016        
(r310048)
+++ head/sys/dev/cxgbe/t4_main.c        Wed Dec 14 07:36:36 2016        
(r310049)
@@ -7219,25 +7219,23 @@ sysctl_tids(SYSCTL_HANDLER_ARGS)
        }
 
        if (t->ntids) {
+               sbuf_printf(sb, "TID range: ");
                if (t4_read_reg(sc, A_LE_DB_CONFIG) & F_HASHEN) {
-                       uint32_t b;
+                       uint32_t b, hb;
 
-                       if (chip_id(sc) <= CHELSIO_T5)
+                       if (chip_id(sc) <= CHELSIO_T5) {
                                b = t4_read_reg(sc, A_LE_DB_SERVER_INDEX) / 4;
-                       else
-                               b = t4_read_reg(sc, A_LE_DB_SRVR_START_INDEX);
-
-                       if (b) {
-                               sbuf_printf(sb, "TID range: 0-%u, %u-%u", b - 1,
-                                   t4_read_reg(sc, A_LE_DB_TID_HASHBASE) / 4,
-                                   t->ntids - 1);
+                               hb = t4_read_reg(sc, A_LE_DB_TID_HASHBASE) / 4;
                        } else {
-                               sbuf_printf(sb, "TID range: %u-%u",
-                                   t4_read_reg(sc, A_LE_DB_TID_HASHBASE) / 4,
-                                   t->ntids - 1);
+                               b = t4_read_reg(sc, A_LE_DB_SRVR_START_INDEX);
+                               hb = t4_read_reg(sc, A_T6_LE_DB_HASH_TID_BASE);
                        }
+
+                       if (b)
+                               sbuf_printf(sb, "0-%u, ", b - 1);
+                       sbuf_printf(sb, "%u-%u", hb, t->ntids - 1);
                } else
-                       sbuf_printf(sb, "TID range: 0-%u", t->ntids - 1);
+                       sbuf_printf(sb, "0-%u", t->ntids - 1);
                sbuf_printf(sb, ", in use: %u\n",
                    atomic_load_acq_int(&t->tids_in_use));
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to