git: f76f7fefa1bb - main - isp(4): Fix reading NVRAM contents for 28xx based devices

From: Warner Losh <imp_at_FreeBSD.org>
Date: Fri, 07 Jul 2023 21:47:54 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=f76f7fefa1bb5dc2ec0c9e44740faac0b46dac25

commit f76f7fefa1bb5dc2ec0c9e44740faac0b46dac25
Author:     Joerg Pulz <Joerg.Pulz@frm2.tum.de>
AuthorDate: 2023-07-07 21:43:34 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-07-07 21:45:30 +0000

    isp(4): Fix reading NVRAM contents for 28xx based devices
    
    Use correct NVRAM address for ISP28xx based HBAs to read NVRAM contents.
      WWPN/WWNN and framesize are correctly read from NVRAM now.
    
    PR: 271062
    Reviewed by: imp, mav
    Sponsored by: Technical University of Munich
    Pull Request: https://github.com/freebsd/freebsd-src/pull/726
---
 sys/dev/isp/isp.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sys/dev/isp/isp.c b/sys/dev/isp/isp.c
index 17163c3c4cbd..46bb40c0fe07 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -4380,7 +4380,9 @@ isp_rd_2400_nvram(ispsoftc_t *isp, uint32_t addr, uint32_t *rp)
 	uint32_t base = 0x7ffe0000;
 	uint32_t tmp = 0;
 
-	if (IS_26XX(isp)) {
+	if (IS_28XX(isp)) {
+		base = 0x7fad0000;	/* 0x7f7d0000 + 0x300000 */
+	} else if (IS_26XX(isp)) {
 		base = 0x7fe7c000;	/* XXX: Observation, may be wrong. */
 	} else if (IS_25XX(isp)) {
 		base = 0x7ff00000 | 0x48000;