diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-02-01 01:53:15 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-02-01 01:53:15 +0000 |
commit | e62c3e3513758a523f0222d3fe7fa44d7fe0d4fb (patch) | |
tree | 275435d168e5ed1f0d66352e84e67105f9899ca9 | |
parent | 2e3d5909ee7ad35889c3bc55f9119ca5d4615a40 (diff) | |
download | ipxe-e62c3e3513758a523f0222d3fe7fa44d7fe0d4fb.tar.gz |
[hermon] Use reset value suitable for ConnectX-3
The programming documentation states that the reset magic value is
"0x00000001 (Big Endian)", and the current code matches this by using
the value 0x01000000 for the implicitly little-endian writel().
Inspection of the FlexBoot source code reveals an exciting variety of
reset values, some suggestive of confusion around endianness.
Experimentation suggests that the value 0x01000001 works reliably
across a wide range of hardware.
Debugged-by: Christian Iversen <ci@iversenit.dk>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r-- | src/drivers/infiniband/hermon.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/infiniband/hermon.h b/src/drivers/infiniband/hermon.h index 6d7471dfd..b4d95d23e 100644 --- a/src/drivers/infiniband/hermon.h +++ b/src/drivers/infiniband/hermon.h @@ -34,7 +34,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); /* Device reset */ #define HERMON_RESET_OFFSET 0x0f0010 -#define HERMON_RESET_MAGIC 0x01000000UL +#define HERMON_RESET_MAGIC 0x01000001UL #define HERMON_RESET_WAIT_TIME_MS 1000 /* Work queue entry and completion queue entry opcodes */ |