Lines Matching refs:status

60 	int status, start = ticks;  in kcs_wait()  local
63 status = INB(sc, KCS_CTL_STS); in kcs_wait()
64 while (ticks - start < MAX_TIMEOUT && (status & mask) != value) { in kcs_wait()
70 status = INB(sc, KCS_CTL_STS); in kcs_wait()
74 return (status); in kcs_wait()
92 kcs_clear_obf(struct ipmi_softc *sc, int status) in kcs_clear_obf() argument
96 if (status & KCS_STATUS_OBF) { in kcs_clear_obf()
104 int retry, status; in kcs_error() local
110 status = kcs_wait_for_ibf(sc, 0); in kcs_error()
116 status = kcs_wait_for_ibf(sc, 0); in kcs_error()
119 kcs_clear_obf(sc, status); in kcs_error()
121 if (status & KCS_STATUS_OBF) { in kcs_error()
132 status = kcs_wait_for_ibf(sc, 0); in kcs_error()
134 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_READ) { in kcs_error()
137 status = kcs_wait_for_obf(sc, 1); in kcs_error()
149 status = kcs_wait_for_ibf(sc, 0); in kcs_error()
153 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_IDLE) { in kcs_error()
155 status = kcs_wait_for_obf(sc, 1); in kcs_error()
158 kcs_clear_obf(sc, status); in kcs_error()
172 int retry, status; in kcs_start_write() local
176 status = kcs_wait_for_ibf(sc, 0); in kcs_start_write()
177 if (status & KCS_STATUS_IBF) in kcs_start_write()
181 kcs_clear_obf(sc, status); in kcs_start_write()
187 status = kcs_wait_for_ibf(sc, 0); in kcs_start_write()
188 if (status & KCS_STATUS_IBF) in kcs_start_write()
191 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_WRITE) in kcs_start_write()
196 if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE) in kcs_start_write()
201 kcs_clear_obf(sc, status); in kcs_start_write()
213 int status; in kcs_write_byte() local
219 status = kcs_wait_for_ibf(sc, 0); in kcs_write_byte()
220 if (status & KCS_STATUS_IBF) in kcs_write_byte()
223 if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE) in kcs_write_byte()
227 kcs_clear_obf(sc, status); in kcs_write_byte()
237 int status; in kcs_write_last_byte() local
243 status = kcs_wait_for_ibf(sc, 0); in kcs_write_last_byte()
244 if (status & KCS_STATUS_IBF) in kcs_write_last_byte()
247 if (KCS_STATUS_STATE(status) != KCS_STATUS_STATE_WRITE) in kcs_write_last_byte()
252 kcs_clear_obf(sc, status); in kcs_write_last_byte()
265 int status; in kcs_read_byte() local
268 status = kcs_wait_for_ibf(sc, 0); in kcs_read_byte()
271 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_READ) { in kcs_read_byte()
274 status = kcs_wait_for_obf(sc, 1); in kcs_read_byte()
275 if ((status & KCS_STATUS_OBF) == 0) in kcs_read_byte()
287 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_IDLE) { in kcs_read_byte()
290 status = kcs_wait_for_obf(sc, 1); in kcs_read_byte()
291 if ((status & KCS_STATUS_OBF) == 0) in kcs_read_byte()
533 int status; in ipmi_kcs_attach() local
542 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_attach()
543 if (status == 0xff) { in ipmi_kcs_attach()
549 device_printf(sc->ipmi_dev, "KCS: initial state: %02x\n", status); in ipmi_kcs_attach()
551 if (status & KCS_STATUS_OBF || in ipmi_kcs_attach()
552 KCS_STATUS_STATE(status) != KCS_STATUS_STATE_IDLE) in ipmi_kcs_attach()
569 int status; in ipmi_kcs_probe_align() local
578 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
579 while (status & KCS_STATUS_IBF) { in ipmi_kcs_probe_align()
581 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
587 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
588 while (status & KCS_STATUS_IBF) { in ipmi_kcs_probe_align()
590 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
594 if (status == 0) { in ipmi_kcs_probe_align()
610 if (status & KCS_STATUS_OBF) in ipmi_kcs_probe_align()
617 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
618 while (status & KCS_STATUS_IBF) { in ipmi_kcs_probe_align()
620 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
623 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_READ) { in ipmi_kcs_probe_align()
625 while (!(status & KCS_STATUS_OBF)) { in ipmi_kcs_probe_align()
627 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
637 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
638 while (status & KCS_STATUS_IBF) { in ipmi_kcs_probe_align()
640 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
644 if (KCS_STATUS_STATE(status) == KCS_STATUS_STATE_IDLE) { in ipmi_kcs_probe_align()
646 while (!(status & KCS_STATUS_OBF)) { in ipmi_kcs_probe_align()
648 status = INB(sc, KCS_CTL_STS); in ipmi_kcs_probe_align()
652 if (status & KCS_STATUS_OBF) in ipmi_kcs_probe_align()
656 KCS_STATUS_STATE(status)); in ipmi_kcs_probe_align()