From nobody Wed Jul 17 14:24:39 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 4WPJ9M49fXz5RPwv; Wed, 17 Jul 2024 14:24:39 +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 4WPJ9M2wqqz40dt; Wed, 17 Jul 2024 14:24:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721226279; 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=Q0rqt/ZhUkf854yMhiAG9krmUTxygz8FGPSK9mCXnsQ=; b=ed7GRS1t+SmH54bMc6o9Wuy1TzPaga8FfS4z+CGVbpRjrZedv+ERx2NRBMgJn/fa38n6lA Tc1GSsL9gY58orL7FXdPiRKONvE5Gj+XGlHuIafwj0aqyPcFyvC61M/OdnBSPC6aWIRwOG 1adbwxBmGx0crBiXLd2JHFLrAxpQ6MGz05IVllk+v+tE6brFROew8TRJrRfew/ukHp2ErD 1mxs+NZhJH2Xck6xfAdQuX2TwJUUR0rscmdoQGtXhCsjtgxTjZOKZLLNe78H/AfvOqvkZT Nxua0D/hgmlIvgNxr3stYmd/upu9sUCQv69xGNaiC91RsrDeiRci5ivSHCmKnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721226279; a=rsa-sha256; cv=none; b=oiHbIxzFgNmfa9ltdscpZscynq8dj+wk7Jfz8X6csOSDKA/JJk5XgIp1PmJsmZ90N24GNA EbSAeUh8rJQC/7025K6K+34XdKk/UZQ09jLPcBzPSfMsE8gg0aLDHptP+02NCye1/Av1Bv LQRbt+4STfiY+2q2zlX16lMofIQu4fxnyfpIl/NZIxDuoygLIEmhaFWH1FvwdLdi7DLIwu xXpi36hvE5occy7s/yYkhxKGUadVR3nFuV9lm5qOcioZoGTDyPvUr+RaXVY5tCzla7P1Mo Qs4thHJBrR0Mii0AoD7e/khg1NN1vAbjE9BLrBGdX/tMZuu1yBqAoYqvHYlytg== 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=1721226279; 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=Q0rqt/ZhUkf854yMhiAG9krmUTxygz8FGPSK9mCXnsQ=; b=AIaUycRcVFiLOHbLpqKJ/wFz0999uUotCGWW3M+8ES/sd4vjOKdXauTF4uv820EGt09obg HegJZ25ROyAsiciMAXP2apBGD0vfCPrKsogbvTOXEvo5IKTCjRF8qzWQd6VBv/XjSMnnYT agGh7q9eQydipi78DzGCPRTpGCjocKMGsP4AnLPjx99Dpuf9LP1L2dRryR7hR8932vzNvq qkxIzPSaAK8K9cROilowlNPxyKOIqlTVkB8QQkfbB/QPeAg6H4o2Qa12qoHjVviMhQ6uvF RVrHL2Xfn1cMc2PvF0atJ9hYGaSZl/IET2qBo4mPGZs0PqzMZZutML4JhvqdJA== 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 4WPJ9M2V60z1MHn; Wed, 17 Jul 2024 14:24:39 +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 46HEOdlI033193; Wed, 17 Jul 2024 14:24:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46HEOdPe033190; Wed, 17 Jul 2024 14:24:39 GMT (envelope-from git) Date: Wed, 17 Jul 2024 14:24:39 GMT Message-Id: <202407171424.46HEOdPe033190@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: 8a499f92d472 - stable/13 - 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/13 X-Git-Reftype: branch X-Git-Commit: 8a499f92d472393564bd9a87d4fe82aa113d894f Auto-Submitted: auto-generated The branch stable/13 has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=8a499f92d472393564bd9a87d4fe82aa113d894f commit 8a499f92d472393564bd9a87d4fe82aa113d894f Author: Navdeep Parhar AuthorDate: 2024-04-30 19:42:14 +0000 Commit: Navdeep Parhar CommitDate: 2024-07-17 07:14:42 +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; }