aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2021-12-14 18:20:14 +0000
committerAlexander Motin <mav@FreeBSD.org>2021-12-14 18:26:44 +0000
commit483e464ed4325a0710485925ecfbe0e1c8d6bb02 (patch)
treee1e782cce8f885f3751c78036ae070d199b04d91 /sys/dev/isp
parent27bb8830d555621d4292da8a83f3bc09176fd00d (diff)
Diffstat (limited to 'sys/dev/isp')
-rw-r--r--sys/dev/isp/isp.c7
-rw-r--r--sys/dev/isp/ispreg.h3
2 files changed, 2 insertions, 8 deletions
diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index 5d1c824deff4..c3470529657e 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -4333,12 +4333,7 @@ isp_read_nvram_2400(ispsoftc_t *isp)
uint32_t addr, csum, lwrds, *dptr;
uint8_t nvram_data[ISP2400_NVRAM_SIZE];
- 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 5d04ad2b4400..98b9a6c0bf0d 100644
--- a/sys/dev/isp/ispreg.h
+++ b/sys/dev/isp/ispreg.h
@@ -213,8 +213,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))