From nobody Fri Sep 18 23:06:14 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 4hmpCH55qmz6t6Z1 for ; Fri, 18 Sep 2026 23:06:19 +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 4hmpCH4cLlz3Fn6 for ; Fri, 18 Sep 2026 23:06:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772779; 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=aTDXVFiX+z/ws+q/9T570d581uv6H4Vj3Lvu2g0Gcmo=; b=TUF9SgVBzNgZ6All2CnBoQzFLyaqGa4LrXOMnnkjTqq6HC2LsnakUdDG/1Tz/L4+jM3t3O AvBwCXN2POKFhZwE68UXfgESZ7HHnLSu0xmJMzwqpo2VV4APuGzQqlZRSzEFNhW814I9iG g4RNuvsHhTXECKHkX4GywrA7ba4lqe9qL+sTuI67rnMgFi5evzanu3bhRzxLwwWKCOu+uF +zp3RjmBJBF6oOsGwiO2sy4TPTFPaiakPTEiZzWncDRmtqRe96MrwY+nZ7uSIpFhgdGj/G sdhIT9T1br32Gpuzi0WZZOAbbBsECn1kBAVLNsa8IyTL1e6peJZzgc0ghRcyoA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789772779; b=er1wANyxUigwe8HAI+jp+GiZGEilS+QJhR6xjo+0bba1Zxmf4pAVl7tGezMB8RlYY+8Q1v yPDypFzxPtriVhdxQuI2xTW+IuSVBbz5a6D0xYp5tkTmav+CTRIYk6/1CDW++kCOYjBQfo RwaU09esUUmoczhdmvwH4KDbajIHQu+vbGNchPUkLfrImx/EcNeyOyfAGd72Fvbh0ofhYv 7esU07GintfcPVKpAEkFTKW7gcfQMZVi3hk1QDtySIxM0wmKaD//08ZRCJYF0zeGszZCnW Sy2V+NdUtVU4s5rRGN00N0CDhQ1EMTUbLPg0EWXg4dkz4vyosw4ruO9y3KYfUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772779; 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=aTDXVFiX+z/ws+q/9T570d581uv6H4Vj3Lvu2g0Gcmo=; b=I78vPV8VUmUfyTByYtgkd7U0XS0e5wGO3M7sVmE933h/HValOhZOQuzyCvkkOPNi8Q1iEF 33FJI04qRNXWVhbYPZT5hkQXWR+TokpVxTOsUjxHmghY2sB4l70UF+a52oFgvQ7N/52zhm 4aUbkCr8hDxFnupf7zr5Cc8gS27FHK5HQCnSUKlyMk0Za3qxwu7KelfLTDUSzMEEdtJz0i zFOA2PebDyHIZGXAZYWDhYn0buGa6apwFYD+SrdSRq6cBvs6CdsNG8A4/uhJoHucsi3E0M HtpHMcDMlEm470Z6Vlu3YePVBkTnDZYq5gJ3WuWsrtMtJlhq/2ahx0KwxWVXkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hmpCH3hr3zgVg for ; Fri, 18 Sep 2026 23:06:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 248be by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 18 Sep 2026 23:06:14 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 30fdef26de87 - main - qlxgbe: Derive the mailbox RSS key from the common key 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: 30fdef26de87516dbdd1dd5e3031a57ba8759437 Auto-Submitted: auto-generated Date: Fri, 18 Sep 2026 23:06:14 +0000 Message-Id: <6aadc3e6.248be.51cac12b@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=30fdef26de87516dbdd1dd5e3031a57ba8759437 commit 30fdef26de87516dbdd1dd5e3031a57ba8759437 Author: Kevin Bowling AuthorDate: 2026-09-18 08:29:21 +0000 Commit: Kevin Bowling CommitDate: 2026-09-18 23:05:10 +0000 qlxgbe: Derive the mailbox RSS key from the common key Replace the embedded key with rss_getkey(), retaining the firmware's reversed 64-bit word-pair order and low-word-first layout within each pair. The common default produces the same mailbox key as the existing constants, while configured common keys no longer get ignored. Leave the RSS enable flags, hash types, and indirection policy unchanged. Reviewed by: gallatin MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59801 --- sys/dev/qlxgbe/ql_hw.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c index 92044822e99f..e5c4a611670f 100644 --- a/sys/dev/qlxgbe/ql_hw.c +++ b/sys/dev/qlxgbe/ql_hw.c @@ -35,6 +35,7 @@ #include #include "ql_os.h" +#include #include "ql_hw.h" #include "ql_def.h" #include "ql_inline.h" @@ -1612,14 +1613,10 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_idx, uint32_t num_intrs, * Name: qla_config_rss * Function: Configure RSS for the context/interface. */ -static const uint64_t rss_key[] = { 0xbeac01fa6a42b73bULL, - 0x8030f20c77cb2da3ULL, - 0xae7b30b4d0ca2bcbULL, 0x43a38fb04167253dULL, - 0x255b0ec26d5a56daULL }; - static int qla_config_rss(qla_host_t *ha, uint16_t cntxt_id) { + uint8_t rss_key[RSS_KEYSIZE]; q80_config_rss_t *c_rss; q80_config_rss_rsp_t *c_rss_rsp; uint32_t err, i; @@ -1648,8 +1645,16 @@ qla_config_rss(qla_host_t *ha, uint16_t cntxt_id) c_rss->cntxt_id = cntxt_id; - for (i = 0; i < 5; i++) { - c_rss->rss_key[i] = rss_key[i]; + _Static_assert(sizeof(c_rss->rss_key) == RSS_KEYSIZE, + "RSS key size mismatch"); + rss_getkey(rss_key); + /* Reverse the word pairs, retaining low-word-first mailbox ordering. */ + for (i = 0; i < nitems(c_rss->rss_key); i++) { + const uint8_t *key = rss_key + sizeof(rss_key) - + (i + 1) * sizeof(uint64_t); + + c_rss->rss_key[i] = (uint64_t)be32dec(key + sizeof(uint32_t)) + << 32 | be32dec(key); } if (qla_mbx_cmd(ha, (uint32_t *)c_rss,