From: Michael Brown Date: Mon, 1 Feb 2021 01:53:15 +0000 (+0000) Subject: [hermon] Use reset value suitable for ConnectX-3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e62c3e3513758a523f0222d3fe7fa44d7fe0d4fb;p=thirdparty%2Fipxe.git [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 Signed-off-by: Michael Brown --- 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 */