]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[hermon] Use reset value suitable for ConnectX-3 244/head
authorMichael Brown <mcb30@ipxe.org>
Mon, 1 Feb 2021 01:53:15 +0000 (01:53 +0000)
committerMichael Brown <mcb30@ipxe.org>
Mon, 1 Feb 2021 01:53:15 +0000 (01:53 +0000)
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>
src/drivers/infiniband/hermon.h

index 6d7471dfdffb7e1329a428c4f744e1225c48733f..b4d95d23e706e6472d799fa4cc6b857d3da74f6c 100644 (file)
@@ -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 */