From nobody Sat Aug 22 01:46:51 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 4hRg5Y38zYz6pwZ0 for ; Sat, 22 Aug 2026 01:46:57 +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 4hRg5Y15Vsz3ZVk for ; Sat, 22 Aug 2026 01:46:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787363217; 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=GBzLr6Hge8VLuiaKxWy4G3r4qYrNUJRrcWjcq+KKHB0=; b=gaQg9d2p4dPNM0TOJUsZgHYUgWJeIOR1QnxzkxIneMFWUzNpO2+OxZwlxgmER06Xk3rOGG lG6Iy05Gj2l9Fgsdci4mftLvIRippHLD9lNVPMgDIJyEdyOdfq4kc6s90ErQcZy7RIqSPN VgU6vJdANAs65dudTaJU7K+nDFbLGPM7T+InDvNCsjNFF17zJLa2VGnoodbO6rijorAqdf COtoRWMcmg+1CeCB55u/aCKEKDYO4UNzkDd0Q6U3yFkgYXbiUJh1VChrFEKbSheSCtInzD 1BbatXbyLLO8GMumsSePhlGFaJPXwSWWRBpBN5hECMkgV/JKgZn1mgWj4X+knA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787363217; a=rsa-sha256; cv=none; b=tI0iGy5XZ87wtig6+UFvJsNHo8O43oMk72ezLVPeyHlC8nRUW0qpy4/LjZPBFGhBd6yPTd 1fXOx2v/kYwWgZuhzFGJpdEKzNd8qIxkKhUuvw6st9HAKqWPzSZTLryFvMhP0fKm3oYMpf PRuqJNmAEg/08ewUYCXDZCNH1mlfzvSKEYccBRzGX/vElND+iS0tXRZMy7nj64B1UtnHSm 5GmH24fW6lzCdRF7KYpcDfzAaRJzegc0GxnOVo7+d3WBlqeKBIku7gddma8PpjYa9KepDB XL4Rld95eTuKcUicOAF6AyzL25yWDYoAWGbg4Q9lVoZQy3/T94BYggkDTCrb9A== 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=1787363217; 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=GBzLr6Hge8VLuiaKxWy4G3r4qYrNUJRrcWjcq+KKHB0=; b=Nx2bAbMlXAqr5iUD9iwDODNhqIH19roxdgIrMSwkS6j1Erqx9CYiwNElQInI6Kx8zuLTJC Dcd/ag5kEDNqeXP8i3AE403LrpaSpNcZEd+2CQxqiC06zMKQiVImyuBBjRL6X0I48V3oiq pxzXYN5aYCRDRwn5NumnR8L5Wp52t45OoVc4SrPEdgANdBKUKf2rSzXTAX1kKHASikebsN fmDMxitY9XbVZGaYziohA9FnaBRhkmu2t4qiTZBylEC6TKlIDUvmtC582N5MU/WeavvwRf 5WRF6kDW+Iq2uoFuOh38BzD3/3ZOsKj6CaIHXkRbCNsSGTgN0/v/lO0shsUgUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hRg5X4rqBzD0n for ; Sat, 22 Aug 2026 01:46:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 33e2e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 22 Aug 2026 01:46:51 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 2a7af8ebcf90 - main - e1000: Limit the TSO sentinel to lem(4) controllers 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/main X-Git-Reftype: branch X-Git-Commit: 2a7af8ebcf90af83f01f9523b25bfc6e58c7b809 Auto-Submitted: auto-generated Date: Sat, 22 Aug 2026 01:46:51 +0000 Message-Id: <6a88ff8b.33e2e.70e5e234@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=2a7af8ebcf90af83f01f9523b25bfc6e58c7b809 commit 2a7af8ebcf90af83f01f9523b25bfc6e58c7b809 Author: Kevin Bowling AuthorDate: 2026-08-22 01:24:28 +0000 Commit: Kevin Bowling CommitDate: 2026-08-22 01:46:44 +0000 e1000: Limit the TSO sentinel to lem(4) controllers The TSO workaround splits the final DMA segment to create a four byte sentinel descriptor. Intel documents the premature descriptor writeback erratum and this workaround in the 82540EP and 82545GM specification updates (erratum 3) and the 82546GB specification update (erratum 1). Limit the workaround and its preceding TSO state to the legacy PCI and PCI-X controllers so PCIe controllers retain their natural descriptor layout using one fewer descriptor per TSO packet, no split of the final segment, and one less four byte DMA. MFC after: 2 weeks Sponsored by: BBOX.io --- sys/dev/e1000/em_txrx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index dced12770c40..df952c8f2ef1 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -214,7 +214,11 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, TXD->cmd_and_length = htole32(cmd_type_len | (pi->ipi_len - hdr_len)); /* Total len */ - txr->tx_tso = true; + /* + * 82540EP and 82545GM erratum 3 and 82546GB erratum 1 require + * a second descriptor for the final four bytes of an LSO packet. + */ + txr->tx_tso = sc->hw.mac.type < e1000_82571; if (++cur == scctx->isc_ntxd[0]) { cur = 0; @@ -380,7 +384,7 @@ em_isc_txd_encap(void *arg, if_pkt_info_t pi) /* Do hardware assists */ if (do_tso) { i = em_tso_setup(sc, pi, &txd_upper, &txd_lower); - tso_desc = true; + tso_desc = txr->tx_tso; } else if (csum_flags & EM_CSUM_OFFLOAD) { i = em_transmit_checksum_setup(sc, pi, &txd_upper, &txd_lower);