From nobody Tue Dec 21 01:10:54 2021 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 A257A19057FB; Tue, 21 Dec 2021 01:10:54 +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 4JHz0t2yrnz4W0C; Tue, 21 Dec 2021 01:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) 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 46A742073A; Tue, 21 Dec 2021 01:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1BL1AsNj033628; Tue, 21 Dec 2021 01:10:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1BL1AsOW033627; Tue, 21 Dec 2021 01:10:54 GMT (envelope-from git) Date: Tue, 21 Dec 2021 01:10:54 GMT Message-Id: <202112210110.1BL1AsOW033627@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: ad5d75d88448 - stable/12 - isp(4): Allow more than 2 ports to read WWNs from NVRAM. 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: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: ad5d75d884484f79f77711305ea36538531ca1bc Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1640049054; 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=98NXDkhgZe0RaeuJ1IeHMXiBktC9O+VNM3TrTyL6W4k=; b=A5Dec7OZHjRVDK/6YZdL+Kpb2bh1PH8a18J9htzzqyb/bAw5jEdFffdJD8XuwAI9j3cO13 kiFZ7a427jtm4EpI0ou8qPpe1vaPdHEyHidAk7gpXhAYpM5LMDt1UVAj8radnVEB5cdXXG cutBpW3px3qcPF9EaPVwvpYgJtx3AdsSBRNnTF2Y60qkKM5t9U96OGKPQrrq/CaodNtEXm EKcaBzWez7R4pf7Kp6NbpWhZvQYmbiAsmu2Xsk+JtPLzoBmEizATLQmD1Za+4SVeRjbIhE 23BuR736xgGPbWMGMX1aiSfmECkGnwrqzW8THSiOOkHon8VvPo5Hs6xEXQSitw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1640049054; a=rsa-sha256; cv=none; b=q1dsZqd78spgDm0l+KRLyF6TG2oHrTIlWkM2wkqXvojWsvXlR5rpBWFPpZpYnAmBIhiMi0 6T241/x1g0FkVKa+l+KdrnTX3HsnP/Fi86B05ugJ7VzqrdLi8w/icdmB0qScimPaMHhkVK Oc7rzC9yaigQz5jBD0XPxKEPG7GJ8pHqUIhYwnGMMr6fxixS0bRttxcM4Cf4/jcgavebFb 0AjyeJ3RSqZbnvstYk4FivEDr269iYnGQgEmC4SR/+XBsCEnkFiIYvuT3BkfmtZu8ZrD/w bwrY4neKBy8Q68Xfv3FTK82690u2GN3/Q8/1WcPCjA9xKa7ORS7rc6N/Rd8XrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/12 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=ad5d75d884484f79f77711305ea36538531ca1bc commit ad5d75d884484f79f77711305ea36538531ca1bc Author: Alexander Motin AuthorDate: 2021-12-14 18:20:14 +0000 Commit: Alexander Motin CommitDate: 2021-12-21 01:09:36 +0000 isp(4): Allow more than 2 ports to read WWNs from NVRAM. It appears at least on QLE2694L cards 3rd and 4th ports follow the same NVRAM addressing logic as the first two. In lack of proper documentation this guess is as good as it can be. MFC after: 1 week Sponsored by: iXsystems, Inc. (cherry picked from commit 483e464ed4325a0710485925ecfbe0e1c8d6bb02) --- sys/dev/isp/isp.c | 7 +------ sys/dev/isp/ispreg.h | 3 +-- sys/dev/isp/ispvar.h | 4 ++-- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c index fe50aab77d43..931886a5162e 100644 --- a/sys/dev/isp/isp.c +++ b/sys/dev/isp/isp.c @@ -7672,12 +7672,7 @@ isp_read_nvram_2400(ispsoftc_t *isp, uint8_t *nvram_data) int retval = 0; uint32_t addr, csum, lwrds, *dptr; - if (isp->isp_port) { - addr = ISP2400_NVRAM_PORT1_ADDR; - } else { - addr = ISP2400_NVRAM_PORT0_ADDR; - } - + addr = ISP2400_NVRAM_PORT_ADDR(isp->isp_port); dptr = (uint32_t *) nvram_data; for (lwrds = 0; lwrds < ISP2400_NVRAM_SIZE >> 2; lwrds++) { isp_rd_2400_nvram(isp, addr++, dptr++); diff --git a/sys/dev/isp/ispreg.h b/sys/dev/isp/ispreg.h index 0d72b94f207c..689768209d06 100644 --- a/sys/dev/isp/ispreg.h +++ b/sys/dev/isp/ispreg.h @@ -1111,8 +1111,7 @@ typedef struct { /* * Qlogic 2400 NVRAM is an array of 512 bytes with a 32 bit checksum. */ -#define ISP2400_NVRAM_PORT0_ADDR 0x80 -#define ISP2400_NVRAM_PORT1_ADDR 0x180 +#define ISP2400_NVRAM_PORT_ADDR(c) (0x100 * (c) + 0x80) #define ISP2400_NVRAM_SIZE 512 #define ISP2400_NVRAM_VERSION(c) ((c)[4] | ((c)[5] << 8)) diff --git a/sys/dev/isp/ispvar.h b/sys/dev/isp/ispvar.h index 5ff34e829eb3..94d628c12c02 100644 --- a/sys/dev/isp/ispvar.h +++ b/sys/dev/isp/ispvar.h @@ -546,8 +546,8 @@ struct ispsoftc { uint32_t isp_maxluns; /* maximum luns supported */ uint32_t isp_clock : 8, /* input clock */ - : 5, - isp_port : 1, /* 23XX/24XX only */ + : 4, + isp_port : 2, /* 23XX/24XX only */ isp_bustype : 1, /* SBus or PCI */ isp_loaded_fw : 1, /* loaded firmware */ isp_dblev : 16; /* debug log mask */