From nobody Tue Apr 30 20:04:50 2024 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 4VTWPt2h6Xz5Jqvv; Tue, 30 Apr 2024 20:04:50 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4VTWPt1xksz4HYH; Tue, 30 Apr 2024 20:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1714507490; 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=cg6joWw3HgEI5WdlSjSZSuMlun0Hv4R41ss+CqOyvOw=; b=Q3p1xyXRMBNqO0uOA0Us6Y6DTEtveBfzLCKUjtl4xgJDTccuGx4NnqmKjLG9E0rypgrGSG 6WJpAM6uAm8y7HsVroLc7W+9X25mX6zeotkIZqrBRzvF59x0gxEcrv2PIbeOX7xCYykpH2 mkErbbfnpGZpfeqcXL1Ot7Qyx7A/C7AdLX5Dq8HHMiPZA0pRZmj45iJhyVF8DFDYhljx/b lWUeCoJ3zbuscFFTZz8WLnZwxGvnCBjfBQInsQWASfHBz6QmYzwLYp+iPM6PQwx/3ljtHm Lg8X6RPzYgDtMRV4A3MB9CJYDDRwZfblrzKRHOWj30ieoMO5zagT2sgLP6umIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1714507490; a=rsa-sha256; cv=none; b=dCf89pvMk1iI0MKG3Uqd0hfMKzInbc2zgSYYIeRcxq9wFYOhnvCZbg1yJD1u1ki6eloLs+ OnYYIMM2Ni9uJfO+nwAP3Z98ds8d7/jEN3RkoY/r0irlDb6qPB7ZCNqvrGtLjto8RVxOjc aeGQQncU2H+A5j/50/lDZaUVMbLsSP191I0URO9PqjFpkfhU6R55Ib2b1qcumfXs+lPqvb 9pjn7P+Yikc8sxRo8COIQZA659fcuopk99YBo+gVhg7JuS9MoyJa1cy9Eo+XKV1EYmBO12 5he0ng9zqtEr8LLvPhCo5DQuVzTo25ANoQnakfxohz9vEnc4fXC1usVzOmNygQ== 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=1714507490; 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=cg6joWw3HgEI5WdlSjSZSuMlun0Hv4R41ss+CqOyvOw=; b=qii11l3xovW0Va0ywyURbqVup/EUCRKI/aKTSt4QE8cxC8OpyqO1Fi9p3i9gTkKmmXdr68 NawWmdNweGQrheHixNeX4q4zjSzOehQ8ASt+uO9V2TycHGnHX8NOmB/0Y6WteG37VFaO36 9Cbw27tYUqM1XuNiAZJfAsgunbw2RmyZQjXxbs6JJ785W3wV+s29j3hfwZBJZ9eJ7EQeTo ASZSdCFYEeOYXOUJYiJ1IgPhX2+C5yIVhfkVK42Fi3rltou/J3hJ0jX/eJg2kuu7v3JkQ6 i4a4B9txlPggPQTPx1uZamxrwhphHyXOavOrBUROQaSG0Ox0kSvBNhczr2KNzA== 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 4VTWPt1XZwzprK; Tue, 30 Apr 2024 20:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 43UK4opV076674; Tue, 30 Apr 2024 20:04:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 43UK4oUb076671; Tue, 30 Apr 2024 20:04:50 GMT (envelope-from git) Date: Tue, 30 Apr 2024 20:04:50 GMT Message-Id: <202404302004.43UK4oUb076671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 4d1362cdc737 - main - cxgbe(4): Do not read hardware registers to determine the number of ports. 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 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/main X-Git-Reftype: branch X-Git-Commit: 4d1362cdc7375984a48f5f0048b1fe909524d21d Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=4d1362cdc7375984a48f5f0048b1fe909524d21d commit 4d1362cdc7375984a48f5f0048b1fe909524d21d Author: Navdeep Parhar AuthorDate: 2024-04-30 19:42:14 +0000 Commit: Navdeep Parhar CommitDate: 2024-04-30 20:02:44 +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. MFC after: 1 week Sponsored by: Chelsio Communications --- 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 360d44847004..400c0d7882c0 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; }