From nobody Thu Oct 29 06:49:06 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 4jFZZq0yQhz6xvgL for ; Thu, 29 Oct 2026 06:49:07 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFZZp4Qxgz4BK3 for ; Thu, 29 Oct 2026 06:49:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256546; 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=kIHfmRfoTLtsh9WUZh8dlJ8lxVDNVMRngnGd+aTsols=; b=x2KlSyFzabV434h+WOKRNbv1+lh2NXbMr1rYRLUxIM1zEkrpRee0Wz5fsNJHnt1peQjkzp YzK1hFooroFw4r3YTCZPEZI+vKu6/me50vqesaSpAzjbxLYSw6Wv31Ehz08YSGcbJQCJwT QlBAMB1j8pUjNZJHB517AL7/FjTiKHTjwkbayz5/fm0B0ytfVxXchJlARHoIDXLoN9d+R6 sadudRR3J9pxyw7VZxaFOohE8ciHR2WdKNirXd7dOdo5wcxJd4mW7vRBbTx1Pd3hEp4Mu3 RsFlkmqmzbfIkujMgEuajIb0SJXLYC8Evt87Q8wBnjDnpvBa3a9tD2AL4+T+yw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793256546; b=Ung2robMu6HqBZcrQhWxqy3Rl9hA1y0jUyC1JFOoXrxAZa23bpr1YTGzdZ8teL7Z2bBQ8/ hBWyxlGLlbwtpFLlfAxbayZlP16oltI+e8E93kOoPdgnbntAe1KaN+y0v1GT+0IcgvOKHx ROT+NCLIn0dhB7Ftpn6esq9LzvEQ65rb/RgEC7sngy6oYtnRcjtUmtwTqZxggNdJTQMTcD cEjAX1sx7hkkRzQj8aLz1cNf49GWpwGH4hWh3Ll/Ra7TGY31iRP5IZbXUvIHY01LyG0RxB evgE6UJCSlv0o8JeWnXwCXqxiOi/pZ5k7WEpjFYScMff8ZaGxu+5zaDNHfyrdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256546; 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=kIHfmRfoTLtsh9WUZh8dlJ8lxVDNVMRngnGd+aTsols=; b=xx3xXZLZ8hRqB3gH2/rp8LHxlGdsM24tdIbIeSL4v3y3dkaobDiGIFvPxjaFvkVYdtlbmt hXTLKOGMm9vVHDgLgZ5ff71SDq7srQPcfZ80XyNJ7y8oYE4V2sGJ4fKJuAPdtdXAQ4lwJL v4qm5o1zm/UDLdlvcyU8xmgkSInm+l83HYdRxXiaVexvydK0K28bfGwxfIJ7h2fJ0u+zq+ yKdhCJG9kE0mDVYJWnnJaFZtFaOed6w21BARxTPLSFp5+0jeIWXPnYYjiTuODp67bLy4tw sxsyGfJEYCnD5i6APYVZ4VSoXxXPoKtSNeedzF1TZY0xJFPwdwYGDJseyzxhqQ== 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 4jFZZp45hZzS5G for ; Thu, 29 Oct 2026 06:49:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f484 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:49:06 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 56211de37150 - stable/15 - qlxgb: Derive the firmware RSS key from the common key List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 56211de371507cceb7607d424b9dcb6a22913b51 Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:49:06 +0000 Message-Id: <6ae2ec62.3f484.4c853ef7@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=56211de371507cceb7607d424b9dcb6a22913b51 commit 56211de371507cceb7607d424b9dcb6a22913b51 Author: Kevin Bowling AuthorDate: 2026-09-18 08:55:59 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 06:47:47 +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 Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59803 (cherry picked from commit 4ad740ad48e2b461637c85cad675202874e182e2) --- 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));