From nobody Mon Aug 24 00:53:49 2026 X-Original-To: dev-commits-src-all@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 4hSsqL65Tqz6q29H for ; Mon, 24 Aug 2026 00:53:50 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hSsqL1Dd7z3wCh for ; Mon, 24 Aug 2026 00:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787532830; 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=UM6CrrDn0B24Pc9UiDvjucDrXy+TrVQ9pJCkirHw+nI=; b=p6JgIXedN1wkmMJa2BeeOpu+THGL6oRV/sFnWAmKda6IuA1XBhlnk72TMdWXneVdn3Jk1h kym0mNFiImqXzrJSgbvgEhbwGElre10KQnqi22gZYOMTQ3r64jkJHMaIXiiHrw6ppx3bGf sY3ZBmVaz3wlOpFHjrzj5PRvxlkXZOOHVCCQ4Ts4bZpIsi7KiHiYTMJJ2+mRYK8SNcr2nF kLbEXceS3V9iKSWFoVpOTI5flG5C3TaaQQb26I1wYhL571YVXUIDmbiwlDNUCCNemckhyG JrTdyz1BW59U+rlKXaT+jhdOVQrHZ3LEZjzmELFVnFt+ef2iLCZoKvlWKdA+JA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787532830; a=rsa-sha256; cv=none; b=U9pbmqO62ssdQfBXJBuJgsIucd7DkIAJI+TJQGcnhNo7Vk51nV2cuEPsOVac0bdTNhd1HG cZVU5PJP2yEGprT9HAx8Vj00ATid8MoriPo8D6N4gJ1QoxMd8f2SPgfDOhGzs9V2/pJ+uD +OC7+eD9fFLbeMUgZkE1giL5UDSHRYWPuuCUtupiL7AwXpEnDHu1HriLTooER0cMBOt42u xLpa84l+m589Tq5WBNOc+4/k6km2ENudDhiO0pfOXFp4Ixq9XYtGbYzEgUowUHUod2Fch+ 4z6WstMUEdoMkodK89S4qQri2fXeKhuDF6g6m9xyB1gqDyGjylqzOoIh+CF92Q== 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=1787532830; 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=UM6CrrDn0B24Pc9UiDvjucDrXy+TrVQ9pJCkirHw+nI=; b=naQ2XKt7lj/mgpsc81UNyKTlpdy1nVVzucxjvtoZ3KRy8rTv8EgUGaw9mUhahJoFhvlZvs LxFgLtlVf9K0fK7R8HLzCCsJrHNUKOL7nz9Zic0DIKDypA2EJQ6G9AA70IAfwb+yvjO86z f53Uc3AefXbBnmqxJOWXKAJNmyYVuy3z89krQSQKXixmQ7IrjCFbBiUJswsseUUgY21gGL jMBhtYNcVLl0VAzC5DTX5uxM270YYsqGgSvq/sfVh41Of8jpe/P8eQzmrdcaW/CUPbl9Lc SCrHc8xwdN5f+O4nD9MHU/gB/bJbr8c3JC8RGmX5TGA28VnAhGlzWhMm9LznCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hSsqL00vBzhxp for ; Mon, 24 Aug 2026 00:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31435 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Aug 2026 00:53:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 66972c472261 - stable/15 - ixgbe: Expose EEE LPI event counters List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 66972c47226128ed56e0258d7873f2fde72ad44a Auto-Submitted: auto-generated Date: Mon, 24 Aug 2026 00:53:49 +0000 Message-Id: <6a8b961d.31435.590a5e38@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=66972c47226128ed56e0258d7873f2fde72ad44a commit 66972c47226128ed56e0258d7873f2fde72ad44a Author: Kevin Bowling AuthorDate: 2026-08-10 15:12:43 +0000 Commit: Kevin Bowling CommitDate: 2026-08-24 00:51:35 +0000 ixgbe: Expose EEE LPI event counters X550-family devices provide clear-on-read counters for transmit and receive Low Power Idle events. Accumulate each register once in the normal statistics poll and expose the monotonic totals below the eee sysctl node. Document the counters together with the existing EEE control. Obtained from: Intel ix 3.4.39 (cherry picked from commit ff86fd4f36618dacf1628180034c312c70294276) --- share/man/man4/ix.4 | 8 +++++++- sys/dev/ixgbe/if_ix.c | 18 ++++++++++++++++++ sys/dev/ixgbe/ixgbe_type.h | 2 ++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ix.4 b/share/man/man4/ix.4 index 33b723c0fcd2..7177f0f9c962 100644 --- a/share/man/man4/ix.4 +++ b/share/man/man4/ix.4 @@ -29,7 +29,7 @@ .\" .\" * Other names and brands may be claimed as the property of others. .\" -.Dd August 8, 2026 +.Dd August 10, 2026 .Dt IX 4 .Os .Sh NAME @@ -242,6 +242,12 @@ Enable firmware logging during driver initialization when set via .Xr kenv 1 . .Pp This feature is only supported on E610 devices. +.It Va dev.ix.?.eee_state +Enable or disable Energy Efficient Ethernet on supported devices. +.It Va dev.ix.?.eee.tx_lpi_count +Count transmit Low Power Idle events. +.It Va dev.ix.?.eee.rx_lpi_count +Count receive Low Power Idle events. .El .Sh DIAGNOSTICS .Bl -diag diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index b67d18a2c41d..2db64e5d9a1b 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -2025,6 +2025,12 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) stats->fcoedwtc += IXGBE_READ_REG(hw, IXGBE_FCOEDWTC); } + /* TLPIC and RLPIC are clear-on-read. */ + if (sc->feat_cap & IXGBE_FEATURE_EEE) { + stats->tlpic += IXGBE_READ_REG(hw, IXGBE_TLPIC); + stats->rlpic += IXGBE_READ_REG(hw, IXGBE_RLPIC); + } + /* Fill out the OS statistics structure */ IXGBE_SET_IPACKETS(sc, stats->gprc); IXGBE_SET_OPACKETS(sc, stats->gptc); @@ -3669,9 +3675,21 @@ ixgbe_add_device_sysctls(if_ctx_t ctx) } if (sc->feat_cap & IXGBE_FEATURE_EEE) { + struct sysctl_oid *eee_node; + struct sysctl_oid_list *eee_list; + SYSCTL_ADD_PROC(ctx_list, child, OID_AUTO, "eee_state", CTLTYPE_INT | CTLFLAG_RW, sc, 0, ixgbe_sysctl_eee_state, "I", "EEE Power Save State"); + + eee_node = SYSCTL_ADD_NODE(ctx_list, child, OID_AUTO, "eee", + CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, + "Energy Efficient Ethernet statistics"); + eee_list = SYSCTL_CHILDREN(eee_node); + SYSCTL_ADD_UQUAD(ctx_list, eee_list, OID_AUTO, "tx_lpi_count", + CTLFLAG_RD, &sc->stats.pf.tlpic, "TX LPI event count"); + SYSCTL_ADD_UQUAD(ctx_list, eee_list, OID_AUTO, "rx_lpi_count", + CTLFLAG_RD, &sc->stats.pf.rlpic, "RX LPI event count"); } ixgbe_add_debug_sysctls(sc); diff --git a/sys/dev/ixgbe/ixgbe_type.h b/sys/dev/ixgbe/ixgbe_type.h index cbe7ae019220..0d2cd6757483 100644 --- a/sys/dev/ixgbe/ixgbe_type.h +++ b/sys/dev/ixgbe/ixgbe_type.h @@ -3943,6 +3943,8 @@ struct ixgbe_hw_stats { u64 mlfc; u64 mrfc; u64 rlec; + u64 tlpic; + u64 rlpic; u64 lxontxc; u64 lxonrxc; u64 lxofftxc;