From nobody Thu Feb 5 21:57:40 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4f6WKw3KdFz6RHHB for ; Thu, 05 Feb 2026 21:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f6WKw1ByDz3WZ1 for ; Thu, 05 Feb 2026 21:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yO2oRxLiTVKv59iX3erZ+mD7yvWUw/B7TZXyLA0V6H8=; b=nAmkdLL00Ha60UW9rglSxoWQNz+N7J8hWTwQ76LjjOlWoaCI2QG8oVC0qpFnwLj9/6iNGN T0xhh2Etn6EMXpTJRFHrBXgGMdkvcv4CtUs5nkUokgWUtTrZWVPE4KOfet/LHmtgkm/YDk vZ9S70fVZ5zdus9WLqYAhDko6rGC724mUSgWLTT0yZ9QQcdIzHDOc55RVZgHEzN23rfEEA sNEEOM3uIEmX77SMAKASDWgAL7483Gjmi2VJi65Hv2tWdLoo+XhJTpEtfK+Kx1YMIQMZc7 sfo67UpTff73NvLhIBJk3EYLAM9uwINURNKmCtHfdUI8hCwqaMDR87arei4cRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770328660; a=rsa-sha256; cv=none; b=KCk+LAG4O2lcvSTvKttjxe0Y1YaIOIlIBXYzCaqHKo5TInwPlWVWQHyEJ3cY6NjCJzrzJ7 JIv3jIRNF0eALMb3PrlKti81wktJWp6JiAig52F0J9w/2gHadsMIkHpBFi1N1rJDn0Sh6p actjdCM4udaEi/SkOBRhAL1MOevdlzida1wYcNAOZhT5H32y61GyaSQtbxLN+1XcCeIdpT AtsxZkh0W/RS/M7o5RBAPadGXlyih/hl0WJ+a4Ux2Cggc4ltz48scGjkyHnSeamF6BCvkr hYGW3VKeZml0XPtRQ5LkzA03h3Nge5yBGzIUJwatpraVHDf0T0iQDVOSsZTNxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770328660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yO2oRxLiTVKv59iX3erZ+mD7yvWUw/B7TZXyLA0V6H8=; b=YU0Esam/xbtKTxc2S52DcmTkz29lR67ZZB9O3bn9WMF6vRid8qYamVIMQqw+QkQY545We0 zYIJlyZTwZ3UPKSDNC1OqImwtyMxA/p8rDHfTwFdrLihyeqLQmeVT5S+qCfV63PlNXmkih TnsNtugS590foSq6N9p6hbsPfVxju/XGHa1NiDiI/ZakcGfvZxIGQaKg3tVXlPcK0axWZH gfUWefo0GIkgnYzPj6nGIbaUm4XDUmzo2wliXTvaxpWEQhu69b9g9/Wh4nGEsj0bRvy47p TZFb77Qfh+/qUmyynz6AechIUuJ75YCKSdqEvqci9fZUcMxieTruVZ8WAhZLLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4f6WKw0pRhzny4 for ; Thu, 05 Feb 2026 21:57:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47e36 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Feb 2026 21:57:40 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 9352d2f6dd55 - main - cxgbe(4): sysctl to disable/enable the TCB cache List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9352d2f6dd55afcf0ac24d2806da7c6febf19589 Auto-Submitted: auto-generated Date: Thu, 05 Feb 2026 21:57:40 +0000 Message-Id: <69851254.47e36.400be12a@gitrepo.freebsd.org> The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9352d2f6dd55afcf0ac24d2806da7c6febf19589 commit 9352d2f6dd55afcf0ac24d2806da7c6febf19589 Author: Navdeep Parhar AuthorDate: 2026-02-05 19:52:51 +0000 Commit: Navdeep Parhar CommitDate: 2026-02-05 20:11:58 +0000 cxgbe(4): sysctl to disable/enable the TCB cache The TCB cache can be enabled/disabled at any time on the T7 and this commit adds a sysctl to do that. This is for debug only. # sysctl dev.chnex.0.misc.tcb_cache=0 # sysctl dev.chnex.0.misc.tcb_cache=1 MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 41 +++++++++++++++++++++++++++++++++++++++++ sys/dev/cxgbe/t4_sge.c | 15 ++++++++++----- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 3237c6649713..e35bb9f64951 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -900,6 +900,7 @@ static int sysctl_ulprx_la(SYSCTL_HANDLER_ARGS); static int sysctl_wcwr_stats(SYSCTL_HANDLER_ARGS); static int sysctl_cpus(SYSCTL_HANDLER_ARGS); static int sysctl_reset(SYSCTL_HANDLER_ARGS); +static int sysctl_tcb_cache(SYSCTL_HANDLER_ARGS); #ifdef TCP_OFFLOAD static int sysctl_tls(SYSCTL_HANDLER_ARGS); static int sysctl_tp_tick(SYSCTL_HANDLER_ARGS); @@ -8119,6 +8120,12 @@ t4_sysctls(struct adapter *sc) sysctl_wcwr_stats, "A", "write combined work requests"); } + if (chip_id(sc) >= CHELSIO_T7) { + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "tcb_cache", + CTLTYPE_INT | CTLFLAG_RW, sc, 0, sysctl_tcb_cache, "I", + "1 = enabled (default), 0 = disabled (for debug only)"); + } + #ifdef KERN_TLS if (is_ktls(sc)) { /* @@ -12204,6 +12211,40 @@ sysctl_reset(SYSCTL_HANDLER_ARGS) return (0); } +static int +sysctl_tcb_cache(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + u_int val, v; + int rc; + + mtx_lock(&sc->reg_lock); + if (hw_off_limits(sc)) { + rc = ENXIO; + goto done; + } + t4_tp_pio_read(sc, &v, 1, A_TP_CMM_CONFIG, 1); + mtx_unlock(&sc->reg_lock); + + val = v & F_GLFL ? 0 : 1; + rc = sysctl_handle_int(oidp, &val, 0, req); + if (rc != 0 || req->newptr == NULL) + return (rc); + if (val == 0) + v |= F_GLFL; + else + v &= ~F_GLFL; + + mtx_lock(&sc->reg_lock); + if (hw_off_limits(sc)) + rc = ENXIO; + else + t4_tp_pio_write(sc, &v, 1, A_TP_CMM_CONFIG, 1); +done: + mtx_unlock(&sc->reg_lock); + return (rc); +} + #ifdef TCP_OFFLOAD static int sysctl_tls(SYSCTL_HANDLER_ARGS) diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c index b6d44792dce4..af18b3019760 100644 --- a/sys/dev/cxgbe/t4_sge.c +++ b/sys/dev/cxgbe/t4_sge.c @@ -828,12 +828,17 @@ t4_tweak_chip_settings(struct adapter *sc) t4_set_reg_field(sc, A_SGE_ITP_CONTROL, m, v); if (sc->debug_flags & DF_DISABLE_TCB_CACHE) { - m = V_RDTHRESHOLD(M_RDTHRESHOLD) | F_WRTHRTHRESHEN | - V_WRTHRTHRESH(M_WRTHRTHRESH); t4_tp_pio_read(sc, &v, 1, A_TP_CMM_CONFIG, 1); - v &= ~m; - v |= V_RDTHRESHOLD(1) | F_WRTHRTHRESHEN | - V_WRTHRTHRESH(16); + if (chip_id(sc) >= CHELSIO_T7) { + v |= F_GLFL; + } else { + m = V_RDTHRESHOLD(M_RDTHRESHOLD) | + F_WRTHRTHRESHEN | + V_WRTHRTHRESH(M_WRTHRTHRESH); + v &= ~m; + v |= V_RDTHRESHOLD(1) | F_WRTHRTHRESHEN | + V_WRTHRTHRESH(16); + } t4_tp_pio_write(sc, &v, 1, A_TP_CMM_CONFIG, 1); } }