Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ipmi/ipmi_kcs.c
Context not available. | |||||
if (state == 0) { | if (state == 0) { | ||||
/* WAIT FOR IBF = 0 */ | /* WAIT FOR IBF = 0 */ | ||||
while (ticks - start < MAX_TIMEOUT && status & KCS_STATUS_IBF) { | while (ticks - start < MAX_TIMEOUT && status & KCS_STATUS_IBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
} else { | } else { | ||||
/* WAIT FOR IBF = 1 */ | /* WAIT FOR IBF = 1 */ | ||||
while (ticks - start < MAX_TIMEOUT && | while (ticks - start < MAX_TIMEOUT && | ||||
!(status & KCS_STATUS_IBF)) { | !(status & KCS_STATUS_IBF)) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
} | } | ||||
Context not available. | |||||
if (state == 0) { | if (state == 0) { | ||||
/* WAIT FOR OBF = 0 */ | /* WAIT FOR OBF = 0 */ | ||||
while (ticks - start < MAX_TIMEOUT && status & KCS_STATUS_OBF) { | while (ticks - start < MAX_TIMEOUT && status & KCS_STATUS_OBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
} else { | } else { | ||||
/* WAIT FOR OBF = 1 */ | /* WAIT FOR OBF = 1 */ | ||||
while (ticks - start < MAX_TIMEOUT && | while (ticks - start < MAX_TIMEOUT && | ||||
!(status & KCS_STATUS_OBF)) { | !(status & KCS_STATUS_OBF)) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
} | } | ||||
Context not available. | |||||
if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_WRITE) | if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_WRITE) | ||||
break; | break; | ||||
DELAY(1000000); | pause_sbt("ipmkcs", SBT_1S, 0, 0); | ||||
} | } | ||||
if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE) | if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE) | ||||
Context not available. | |||||
/* Wait for IBF = 0 */ | /* Wait for IBF = 0 */ | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
while (status & KCS_STATUS_IBF) { | while (status & KCS_STATUS_IBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
Context not available. | |||||
/* Wait for IBF = 0 */ | /* Wait for IBF = 0 */ | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
while (status & KCS_STATUS_IBF) { | while (status & KCS_STATUS_IBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
Context not available. | |||||
/* Wait for IBF = 0 */ | /* Wait for IBF = 0 */ | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
while (status & KCS_STATUS_IBF) { | while (status & KCS_STATUS_IBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_READ) { | if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_READ) { | ||||
/* Wait for IBF = 1 */ | /* Wait for IBF = 1 */ | ||||
while (!(status & KCS_STATUS_OBF)) { | while (!(status & KCS_STATUS_OBF)) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
Context not available. | |||||
/* Wait for IBF = 0 */ | /* Wait for IBF = 0 */ | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
while (status & KCS_STATUS_IBF) { | while (status & KCS_STATUS_IBF) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
} | } | ||||
Context not available. | |||||
if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_IDLE) { | if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_IDLE) { | ||||
/* Wait for IBF = 1 */ | /* Wait for IBF = 1 */ | ||||
while (!(status & KCS_STATUS_OBF)) { | while (!(status & KCS_STATUS_OBF)) { | ||||
DELAY(100); | pause_sbt("ipmkcs", SBT_1US * 100, 0, 0); | ||||
status = INB(sc, KCS_CTL_STS); | status = INB(sc, KCS_CTL_STS); | ||||
} | } | ||||
Context not available. |