From nobody Fri Jul 31 12:14:50 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 4hBQ4C0Qb0z6mfq0 for ; Fri, 31 Jul 2026 12:14:51 +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 4hBQ4B6xhJz3L1Z for ; Fri, 31 Jul 2026 12:14:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785500091; 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=nrkoZYBDhINdJ1/Umghh7g5tgUGpxiXTfreP3+2SAiI=; b=KXNGUjqFR2aDTcFmgS52FyTZexxiELt9flogyJzPDzVdMoI3VMwUWCqA6qC6JTPESLHFv7 AGtlFdonMcqoUs4QTrNGuWEKUWTEHLERgwbrgMYk5QoSOULLDCEXocILKxp4QbpQCV5zZu 59pQOFCa9OXxxTgiAqVFaRQKrPGlAAqK0JjrWnvsRAJ1Fsi0r/ErfD9pFbM1GIvnmpdXDa DvdHCe55u4K6OEkoH7XAKIZY75ISOKx1lbLQ41giFqMsJCp0wY8r2NJCKwk9Pmj6kw1xpQ IrGi6n16WmcJNP67aekaV1QXJIODKX7xR6Uc8W4OZr5x6S6mz6+SB2/9vFW0mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785500091; a=rsa-sha256; cv=none; b=juL0YltZxZ9XqBtMQ+bzExCL1EQCtgWbYXoY6hQ85ZbKWQXmtf3DKbPGgPuyq+byzZ9kSQ 9cH0hYwnTPX267Rm9oj4z+iAm32f3BxwV3NyI/73BNWMReHzDpv+Lzp7OxZ+ItVMsDnHDa Mn8tz19D96/p8vBu391gUZZKh9Y7dCI2UX/0VJ4fMDZDoP02CoPKoXY6tAuOtfCBPe/9yf 8/gOaADClImQj+9h4FGNoyGDi1YeybAL/JO1BI/eJV5HLdwWqFPH94/zABHq1Vc0dUbkMX ndgRqT1E4srfsSR7WC3Y8sObwauDqVrqUQ4qKWS9F+QVjW0jv2LcRq/+gQRL5Q== 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=1785500091; 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=nrkoZYBDhINdJ1/Umghh7g5tgUGpxiXTfreP3+2SAiI=; b=Gff6GGfrJAsD4qXVX9MD6s3qB+9u6F//GdfYHspYk/091yF1cJcQ4FWmEk6ANRD5SIsJ1D PmOzLlvLz66bSudNLzG9eEgK6CzfOqkWogZiQxCTOrZXGGsSBQM09GatvNMbhUXXP9jmbF cOWwKBXxVVcVeGLe+ySn/dN9aGQP/pebQ106XRSHaYkaZd2JHplVGm0vZCuX/1rc+1LGPv KYDMA+7GWn4Ohn4SZs/RQzs4AZ+oguLzUdQqnTSmpnF3AOWDb6dVquuPRQrbEXfcema73m iZMm1QTt/BbkPaMcWrbVFnzllcODBylBt/pUv4O2gm3HhkctlLtc79ySTqGMAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hBQ4B5BXNz109b for ; Fri, 31 Jul 2026 12:14:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 41b3e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 31 Jul 2026 12:14:50 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 6f940ca879cb - main - ixgbe: clear VF head write-back state on reset 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: 6f940ca879cbf691ddf5605d852770cef27847b2 Auto-Submitted: auto-generated Date: Fri, 31 Jul 2026 12:14:50 +0000 Message-Id: <6a6c91ba.41b3e.8cb1b7f@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=6f940ca879cbf691ddf5605d852770cef27847b2 commit 6f940ca879cbf691ddf5605d852770cef27847b2 Author: Kevin Bowling AuthorDate: 2026-07-28 11:26:28 +0000 Commit: Kevin Bowling CommitDate: 2026-07-31 12:14:36 +0000 ixgbe: clear VF head write-back state on reset VF reset and FLR do not clear the transmit head write-back address registers. A previous VF driver can therefore leave DMA write-back enabled with a stale address for the next driver instance. After consuming the reset request and disabling the VF queues, clear the address registers for each queue belonging to that VF. Derive the queue count from the active IOV mode so peer queue state is not touched. Linux commit dbf231af81a7 documents the hardware behavior. The FreeBSD implementation follows the local queue mapping and register interfaces. MFC after: 1 week --- sys/dev/ixgbe/if_sriov.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/dev/ixgbe/if_sriov.c b/sys/dev/ixgbe/if_sriov.c index 8d4e20fcf8bf..b9e5205cf1b9 100644 --- a/sys/dev/ixgbe/if_sriov.c +++ b/sys/dev/ixgbe/if_sriov.c @@ -353,6 +353,7 @@ ixgbe_vf_reset_msg(struct ixgbe_softc *sc, struct ixgbe_vf *vf, uint32_t *msg) struct ixgbe_hw *hw; uint32_t ack; uint32_t resp[IXGBE_VF_PERMADDR_MSG_LEN]; + int i, queue_count; hw = &sc->hw; @@ -363,6 +364,18 @@ ixgbe_vf_reset_msg(struct ixgbe_softc *sc, struct ixgbe_vf *vf, uint32_t *msg) */ ixgbe_clear_mbx(hw, vf->pool); + /* + * VF reset does not clear the transmit head write-back addresses. + * The queues were disabled by ixgbe_process_vf_reset(). + */ + queue_count = ixgbe_vf_queues(sc->iov_mode); + for (i = 0; i < queue_count; i++) { + IXGBE_WRITE_REG(hw, + IXGBE_PVFTDWBAHn(queue_count, vf->pool, i), 0); + IXGBE_WRITE_REG(hw, + IXGBE_PVFTDWBALn(queue_count, vf->pool, i), 0); + } + if (ixgbe_validate_mac_addr(vf->ether_addr) == 0) { ixgbe_set_rar(&sc->hw, vf->rar_index, vf->ether_addr, vf->pool, true);