From nobody Fri Sep 18 23:09:15 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 4hmpGg4ffKz6t6k0 for ; Fri, 18 Sep 2026 23:09:15 +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 4hmpGg2t86z3GQ5 for ; Fri, 18 Sep 2026 23:09:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772955; 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=6Vh983favmjJRzpzkKOLLl3FS1slUIOFTyiNJXezGxA=; b=o82jasXLZYYZudy5Lym5YQ8uTQw4ESUpsch2EJarC3jisWVl5B8Zcmjk9/DqDtCpsU61Ke RhQGzqc+NR1JYWEWPeoBVrkX7W9yj7QxshPYn4tbdiJIwz5NxdpDztfv8b9gsLwctL1i1z ewCOO7kaXGww2U08dtrfpSeJNGwHnzSPVCGVtY7wlQ7UY9fws0rOu8oc1/MCdaw7KmTyG/ s73hYYbFG6XDXPBDyODWAdMdn2ZcniXLpH6/hNIi/vfIbKbK+8Yd8FepUBnBXqinqhwD2V 5G1etrcns+PMCYPuCk0NzRGFs3xC9KWBNh8pfVgIGeAzE+LUlNdQIirjbsOUOA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789772955; b=t7Nc3B/uKU8qq0xrrlYjPiRlE1KhNxwu6SQw7VOvRVX+2Xi+fE50nomzGj8hmlTPHzenFP P1xKlN2QzeUm26h6D8jX3+IYwp5PGKpPR5wT6UV8TQh521sDzH3iBcIIKZ1Cj6sQ3/o2N5 9qGe2dT0J3qHF8vJXuFNjKBbbA8qlsNjD3EwC7uw7p8/Zh/d4nLeFqKRwwkzePjv4yLwU+ WFVZ6AyTPI9QtbBO0Y3Pra34Ybbu6+bRemPIfOsu0dR8FKi+KzsQVpz6PK5n7yCSthAGC+ JZcfJd1TZvSDdr3rxp0DRy1tOsDLoRXgNMTc5xfQXbLQolPfVODxbxn/XKRfKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789772955; 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=6Vh983favmjJRzpzkKOLLl3FS1slUIOFTyiNJXezGxA=; b=AjWi41gzACAWsXrYuhQ9tDYHR/wbz5/7T5bkG8cVMA3nHt0seoKgMeo1Ytm3oEBSDaET87 w9gsYmeS8JzOVjuHeOKHI11fTNlOwoPQbB7otgFfTSMEHpVlVH/lPn0thEkqGA4A0r+XoJ TKaLIX2VH0WYOZkhYlwVJs8tNt/bUo4DsYid4QMsHGP77ZECDKvNUVm6PT9BX/+9JQnRtE LR06KX1hoj/q7DjcS0fh0nWnVafh7P7eCCfxwAENjLGhhPzy0Gs4n7+t9ePJlvBJDeoZ9j Y2gcfsZ8qU1rYKuc0ssLItHv8JHtxJ/JD2GGS0ocrGRfCQf9EFR5OEXr0JtshA== 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 4hmpGg14qmzgpS for ; Fri, 18 Sep 2026 23:09:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 248bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 18 Sep 2026 23:09:15 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 4ad740ad48e2 - main - qlxgb: Derive the firmware 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: 4ad740ad48e2b461637c85cad675202874e182e2 Auto-Submitted: auto-generated Date: Fri, 18 Sep 2026 23:09:15 +0000 Message-Id: <6aadc49b.248bf.5259cbda@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=4ad740ad48e2b461637c85cad675202874e182e2 commit 4ad740ad48e2b461637c85cad675202874e182e2 Author: Kevin Bowling AuthorDate: 2026-09-18 08:55:59 +0000 Commit: Kevin Bowling CommitDate: 2026-09-18 23:08:28 +0000 qlxgb: Derive the firmware RSS key from the common key Replace the embedded key with rss_getkey(). Retain the reversed 64-bit word-pair order and low-word-first layout used by the existing firmware request, matching the qlxgbe conversion. The common default produces the same five firmware words as the old constants. Leave hash selections, RSS enablement, and the indirection mask unchanged. Reviewed by: gallatin MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59803 --- sys/dev/qlxgb/qla_hw.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/sys/dev/qlxgb/qla_hw.c b/sys/dev/qlxgb/qla_hw.c index 6ea68e1b255c..4d15f6ecaaee 100644 --- a/sys/dev/qlxgb/qla_hw.c +++ b/sys/dev/qlxgb/qla_hw.c @@ -35,6 +35,7 @@ #include #include "qla_os.h" +#include #include "qla_reg.h" #include "qla_hw.h" #include "qla_def.h" @@ -529,13 +530,10 @@ qla_fw_cmd(qla_host_t *ha, void *fw_cmd, uint32_t size) * Name: qla_config_rss * Function: Configure RSS for the context/interface. */ -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]; qla_fw_cds_config_rss_t rss_config; int ret, i; @@ -551,8 +549,17 @@ qla_config_rss(qla_host_t *ha, uint16_t cntxt_id) rss_config.ind_tbl_mask = 0x7; - for (i = 0; i < 5; i++) - rss_config.rss_key[i] = rss_key[i]; + _Static_assert(sizeof(rss_config.rss_key) == RSS_KEYSIZE, + "RSS key size mismatch"); + rss_getkey(rss_key); + /* Reverse the word pairs, retaining low-word-first firmware ordering. */ + for (i = 0; i < nitems(rss_config.rss_key); i++) { + const uint8_t *key = rss_key + sizeof(rss_key) - + (i + 1) * sizeof(uint64_t); + + rss_config.rss_key[i] = (uint64_t)be32dec(key + sizeof(uint32_t)) + << 32 | be32dec(key); + } ret = qla_fw_cmd(ha, &rss_config, sizeof(qla_fw_cds_config_rss_t));