From nobody Fri Sep 18 23:06:14 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 4hmpCB5FZhz6t6D5 for ; Fri, 18 Sep 2026 23:06:14 +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 4hmpCB4X87z3Fgd for ; Fri, 18 Sep 2026 23:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772774; 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=ygXivj4dxuzN4ohuylgTsV1IYTF7QSkYjWY3PfVpo6jn1Tu8SuDE86rABOsJFzElyIahRZ 3RRw0AsTfqeSJVfD0IIOpfAvPDgetuXER6ZntMxgoIVd1C1KbyLKqkMp1Q64+cUivQ48TU vffBv4RjdmH3C4rFjyv5RVY186QtO+6jduyFPs+ZtG5KQwquFguix31DK3kI3HsBEDKO2z Bz0v4BnIAGU8OJ2s6AVurdwoi2Ja1SMwjRH0fni0zZbtdCx5cHfdpXzqLJcCPdd5krkt5J G7SptxUfvZk+C4qHKHAusz4J90yhimrhgiHG63z2oKWUGmfHOP7Bugi+ji/sxA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789772774; b=YDC2Kc5ErAqLQvyCp/4xLLtzFEpDcrwcJYLyGhHAeMU+iFqkkh4LewqSJmuWCohnYCK6Hm OkKiB8ZCy1v45FZLztAYXsqvrj1FjJCQn2xRMVu8/PdoAfgI6I/+eD9y4m941PhEqXOLi8 dAPyWEZBuxXMFPSTJUTcbiz0y+yEAHMD1Q1ON4z0iFfawhzdiN8oN/DVIqMzeGC1ibp7ug 3s3J5I8ngChm3YSCYnpyi78osfPSYQWA+54yB/ki/R3Lhyy8V9jplYBqiTo34tzkAJ9Pkn 4linLsDXQeVy/99czNhPwzF7PAT6/Jr+zKeeY3FOqzMm4RmZ6M2GcEX+4O/qiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772774; 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=UoVlHAdVPYUANRAkPeX1bzpb7ueilpmZRw9XMNuRHMAyxkmBfYwv1ibRkdV3ZbF0qYXb8m bpatHLhjJGmgD9AOeBwhynl5eNYkX7UVdgyiOvPglZy/qMX2x0JT5l3nAvHZoYhBChWh4e V06xcDsWf/Kp6Sw+5Wrd0rMCCsvy+m1P9CGJvXwQihlOUVS/p28jzz5zQ+1iZrBhzgZmNA QTpUXtLgJCinjdBg0ELhnbfje1Qa93XtrGFouOmhdrOho3rgRTtsdzqgYcLVli7ThLmUVy Pg0aQFP+n7Xco5HV840TiYl7pLvpqlIes4RdWNdZPerxf4ZlqgEW4gCA19gXqA== 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 4hmpCB3JN5zg65 for ; Fri, 18 Sep 2026 23:06:14 +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 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: 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,