Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Oct 2024 18:39:32 GMT
From:      Navdeep Parhar <np@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: b9f7a09c490f - stable/14 - cxgbe(4): Clobber all tracer state on stop and redo only traceq on restart.
Message-ID:  <202410211839.49LIdWIA037293@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by np:

URL: https://cgit.FreeBSD.org/src/commit/?id=b9f7a09c490f4eb6b9c179d1dfd756e236494998

commit b9f7a09c490f4eb6b9c179d1dfd756e236494998
Author:     Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2024-09-24 23:28:29 +0000
Commit:     Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2024-10-21 17:14:39 +0000

    cxgbe(4): Clobber all tracer state on stop and redo only traceq on restart.
    
    Tracers have to be recreated after a restart but that's okay given that
    they are used for debugging only.
    
    Sponsored by:   Chelsio Communications
    
    (cherry picked from commit ee3da604dd016439850dae77366796313e60f0e0)
---
 sys/dev/cxgbe/t4_main.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index 3223d32b5d36..e33e732a7fa2 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -2095,6 +2095,8 @@ stop_lld(struct adapter *sc)
 		if (pi->flags & HAS_TRACEQ) {
 			pi->flags &= ~HAS_TRACEQ;
 			sc->traceq = -1;
+			sc->tracer_valid = 0;
+			sc->tracer_enabled = 0;
 		}
 	}
 	if (sc->flags & FULL_INIT_DONE) {
@@ -2411,6 +2413,15 @@ restart_lld(struct adapter *sc)
 					    "interface: %d\n", rc);
 					goto done;
 				}
+				if (sc->traceq < 0 && IS_MAIN_VI(vi)) {
+					sc->traceq = sc->sge.rxq[vi->first_rxq].iq.abs_id;
+					t4_write_reg(sc, is_t4(sc) ?
+					    A_MPS_TRC_RSS_CONTROL :
+					    A_MPS_T5_TRC_RSS_CONTROL,
+					    V_RSSCONTROL(pi->tx_chan) |
+					    V_QUEUENUMBER(sc->traceq));
+					pi->flags |= HAS_TRACEQ;
+				}
 
 				ifp = vi->ifp;
 				if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202410211839.49LIdWIA037293>