ig4(4): Increase timeout to about 1 second
Per the i2c spec, a slave device can stretch SCL idefinitely, so 25ms is a bit arbitrary in general. smbus does specify an optional timeout recovery mechanism to be done at about 25~35ms, but the IPMI SSIF spec says that BMCs don't have any obligation to implement that. The BMC on Altra seems to mostly respond within 25ms, but occasionally will stretch SCL for ~300 msec. Also, the count_us mechanism seems to actually timeout around 25% earlier than it would claim (timeout really happening around 19ms instead of 25ms). Sponsored by: Ampere Computing LLC Submitted by: Klara Inc. Reviewed by: manu, imp Differential Revision: https://reviews.freebsd.org/D28747
This commit is contained in:
parent
0577e39bec
commit
37ef8d4cd6
@ -267,7 +267,7 @@ wait_intr(ig4iic_softc_t *sc, uint32_t intr)
|
||||
int error;
|
||||
int txlvl = -1;
|
||||
u_int count_us = 0;
|
||||
u_int limit_us = 25000; /* 25ms */
|
||||
u_int limit_us = 1000000; /* 1sec */
|
||||
|
||||
for (;;) {
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user