git: f0275240dc3d - stable/13 - isp(4): Fix reading NVRAM contents for 28xx based devices
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 19 Jan 2024 16:53:29 UTC
The branch stable/13 has been updated by mav:
URL: https://cgit.FreeBSD.org/src/commit/?id=f0275240dc3dea56c498a8e41e56c00761d3a597
commit f0275240dc3dea56c498a8e41e56c00761d3a597
Author: Joerg Pulz <Joerg.Pulz@frm2.tum.de>
AuthorDate: 2023-07-07 21:43:34 +0000
Commit: Alexander Motin <mav@FreeBSD.org>
CommitDate: 2024-01-19 16:51:45 +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
(cherry picked from commit f76f7fefa1bb5dc2ec0c9e44740faac0b46dac25)
---
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 6940397d10b4..eddf175e669b 100644
--- a/sys/dev/isp/isp.c
+++ b/sys/dev/isp/isp.c
@@ -4379,7 +4379,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;