From nobody Wed Jul 17 14:21:44 2024 X-Original-To: dev-commits-src-branches@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 4WPJ604PqVz5RPR6; Wed, 17 Jul 2024 14:21:44 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WPJ601tDHz4sxq; Wed, 17 Jul 2024 14:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721226104; 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=AtLvaHBS5sG3e1bZk1EN8xe++p8P5NEyhGgZCUOj/Jk=; b=WiUJ3bkjWoYyZWcx4iDFcQx/+XxCSMFSr2xpY8Vidu6ae+hv4NMRZ1gLDbOiWc8qX2BFE8 Hqfbpnvuk1az33gt1cR1qFl0++syiOK/9gJtnJ57uZEFzJ16r18P9HO1kOP85pUjsGoNCR JJCPKNqJO2bw9bSv5Ogt7QF/0VoPjpUd5BRR1Lwx7pIWy6U2SRxB0T30xiL8L+TwZ//Zvz F8p+DNta0JOi7Xdtrh+sq4vN0vIKtLEshVz4u3W5CW5mOpT+WoNizg/lxyMw5ou8PJEQ1O sq9wtVWipMeR6quBnMtG6DeFjLBrL44NBJTzpc/1fUMOA8Ji0b6+gvqbcXPmog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721226104; a=rsa-sha256; cv=none; b=GaOGUYyk4sF5N++5XnqFsTe5w7i0qKaE6XRgKa9b1uGswb0N/EY4QPSTTjwObdMrzADhXy ivfPtnG5Oj4/UpyLhZ8IelZpgJ7421lPY37etyLPfpZJK1kPPJTnNH3mLcC6qmJ9jY4hmL OIu5ovdItZox9ETZjiG/RFrlLVocPKQEXHWeHDbnne0cHQCq2kZg6OXgnMDb51iDCiVQIE yP86+WW8FjdvnTEwLKa1l9NBdj7kiKox0zmq4/z3vqfT/o4tzAfM9KNN2w9YhqsmuMpYMk Nh7Mbv99W+yKdOs8+KCT8sc/CHLLBwpUJJY2Rb/L4ozwXmzApA34b/3Hj8AJ/Q== 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=1721226104; 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=AtLvaHBS5sG3e1bZk1EN8xe++p8P5NEyhGgZCUOj/Jk=; b=gINpFyPHhd9PV+x8ifrQp4U2XEmMMg88HTG9krNSB3P0EPIgTo8ASVXhp/VqE2jdRP86MP 1qIdn7ha+NhFWrnPVPVu4uwaMZXSpHCtgT+PF3bn0hqR9QpelVSw4/L5vyKj2a73wisaz1 nNY9Xfcwa/n/5js28hPgYX5kU4zgqYbisrisbqc7oWka4uLduDdq2sjHugzAty9A7b3Ez5 yDdYLOb40rQUNdX8h1XbYMtY5rsmMh96HxXdqhctBh8RlgODlQC7/bLOC6nJlCD8qkGHXi 2wbi8fpZ6b8UC6GjSyKAbJN0zd71SCn6EUGvabdI4Dd+2613qlTkOY99xDeM9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WPJ601RGjz1Md8; Wed, 17 Jul 2024 14:21:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 46HELiDA028127; Wed, 17 Jul 2024 14:21:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46HELiri028109; Wed, 17 Jul 2024 14:21:44 GMT (envelope-from git) Date: Wed, 17 Jul 2024 14:21:44 GMT Message-Id: <202407171421.46HELiri028109@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Navdeep Parhar Subject: git: 92383a2c844b - stable/14 - cxgbe(4): Do not read hardware registers to determine the number of ports. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 92383a2c844b102f6d65efbc2755ae21c656163b Auto-Submitted: auto-generated The branch stable/14 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=92383a2c844b102f6d65efbc2755ae21c656163b commit 92383a2c844b102f6d65efbc2755ae21c656163b Author: Navdeep Parhar AuthorDate: 2024-04-30 19:42:14 +0000 Commit: Navdeep Parhar CommitDate: 2024-07-17 06:37:39 +0000 cxgbe(4): Do not read hardware registers to determine the number of ports. PORTVEC obtained from the firmware is the authoritative source of this information, and nports (calculated from PORTVEC) is available by the time t4_port_init runs. Sponsored by: Chelsio Communications (cherry picked from commit 4d1362cdc7375984a48f5f0048b1fe909524d21d) --- sys/dev/cxgbe/common/t4_hw.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/dev/cxgbe/common/t4_hw.c b/sys/dev/cxgbe/common/t4_hw.c index 8a225849930d..8d109b389f0d 100644 --- a/sys/dev/cxgbe/common/t4_hw.c +++ b/sys/dev/cxgbe/common/t4_hw.c @@ -6745,10 +6745,11 @@ static unsigned int t4_get_mps_bg_map(struct adapter *adap, int idx) if (adap->params.mps_bg_map) return ((adap->params.mps_bg_map >> (idx << 3)) & 0xff); - n = G_NUMPORTS(t4_read_reg(adap, A_MPS_CMN_CTL)); - if (n == 0) + n = adap->params.nports; + MPASS(n > 0 && n <= MAX_NPORTS); + if (n == 1) return idx == 0 ? 0xf : 0; - if (n == 1 && chip_id(adap) <= CHELSIO_T5) + if (n == 2 && chip_id(adap) <= CHELSIO_T5) return idx < 2 ? (3 << (2 * idx)) : 0; return 1 << idx; } @@ -6758,12 +6759,12 @@ static unsigned int t4_get_mps_bg_map(struct adapter *adap, int idx) */ static unsigned int t4_get_rx_e_chan_map(struct adapter *adap, int idx) { - u32 n = G_NUMPORTS(t4_read_reg(adap, A_MPS_CMN_CTL)); + const u32 n = adap->params.nports; const u32 all_chan = (1 << adap->chip_params->nchan) - 1; - if (n == 0) + if (n == 1) return idx == 0 ? all_chan : 0; - if (n == 1 && chip_id(adap) <= CHELSIO_T5) + if (n == 2 && chip_id(adap) <= CHELSIO_T5) return idx < 2 ? (3 << (2 * idx)) : 0; return 1 << idx; }