From nobody Mon Aug 10 16:33:26 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 4hJgKz12Fyz6p2Hd for ; Mon, 10 Aug 2026 16:33:27 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJgKy3Fr1z3wtg for ; Mon, 10 Aug 2026 16:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786379606; 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=2Cw4N19iqBVhf7butB7+JVftGu/x8UqETBVGWDfmvhg=; b=gMJMNEvPNu6pxvBWLGfn1ewoYSddoK+0v6nsQArPlpThWwqDYfg1rA/6pFCxCCvavJwkjX DtC2E8c1ApHhtFsGQgrFqrDB/cdYT5WI8dXKPWiSPYdTbVPTotrjjy2rWlDMzfj3/Cb0kX dY2Cgpv32e/c2+IYNZauC+99avMfWrnMJWQA4vLbA5X31OFiCUsgc7udHDxe5LJRkG1Sgf 8Y02PufjxeQiv8v0Th6+8yKABQ6QV4M3Jy0qBFewObBSZVFkv97Wn4UBdI75XxOLggj1pJ 3MmiI2xl8q2W6oa0vq3s1lnxzZ4WuSZgQgoWaXOOSMo69m7Qd7DP4u5PTDIupw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786379606; a=rsa-sha256; cv=none; b=wgwzVcDBe8lsyyPAXlmkdVHeOOQLxXr+/R/Xdb8mZ1tvIDU0+tQqGVDGP/QQemOlqMD6zb rLbAgB5ypQYElaDf9LLgokdOcFQiC8EFy4FxOrAJ1wh7H7vxZrj7EHnyV92MYZ7Fe62DkM MNPMEWIYNcLZ2aSdUB0TPkrjEAUbQFk+upbUyHi0EvG0lQC/Qyt8dlmwEwMd+ETTm9GM6M Kt3XvMQ+t5VJXlGaZYlPj+I7KqYO6W0Un/Rn5N1C7tiL99YMldPoOfRei8vrpjqC8TTV8X SSf5uYFYLmptEpQg9MxNcsQr6tkzXDurWXRwCbw/GF10lpthXwPakSSFlcXaHg== 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=1786379606; 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=2Cw4N19iqBVhf7butB7+JVftGu/x8UqETBVGWDfmvhg=; b=bb2W2QY8nm89TEr8yJqJ8JCltANieKJ3GEgHeW2uQ7S9J9iBffUrGxiasw3pml6mtjEhF1 H+0zuR9s/a8vKQYA0IETO9b6EgEE6wvE8pZQL3LpOXSgtmLsZYvOljMfEE4FBuyrtabBYz 4Zeny10jAC8luj0JjHlktpDNAlzzNj/NPB/+1aO/arUdPb1SYdYlNwA4+QePqM8A2n27g1 F8p/2T9qQrOVFGOyVTqGsaEnuR3vGmuXD3QsAaZGjyqkZSTtW8B7KM+jVbVmgz/TPKdC9h hGbCr+e1jLQEJh40WsU15I2KK2utrF6fcKuurGN4GtS46ysMd/WcuSIAA4xRuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJgKy26J3z2Jm for ; Mon, 10 Aug 2026 16:33:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 39987 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 16:33:26 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: ff86fd4f3661 - main - ixgbe: Expose EEE LPI event counters 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 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/main X-Git-Reftype: branch X-Git-Commit: ff86fd4f36618dacf1628180034c312c70294276 Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 16:33:26 +0000 Message-Id: <6a79fd56.39987.584d5a2@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=ff86fd4f36618dacf1628180034c312c70294276 commit ff86fd4f36618dacf1628180034c312c70294276 Author: Kevin Bowling AuthorDate: 2026-08-10 15:12:43 +0000 Commit: Kevin Bowling CommitDate: 2026-08-10 16:33:12 +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 MFC after: 2 weeks --- 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 49b383518df4..ba1f3121ae4f 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -2037,6 +2037,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); @@ -3679,9 +3685,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 80f8effca6d5..648f790194db 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;