Lines Matching +full:ipmi +full:- +full:smic

1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
42 #include <ipmi.h>
45 #include <sys/ipmi.h>
46 #include <dev/ipmi/ipmivars.h>
113 device_printf(sc->ipmi_dev, "SMIC: Write did not start %02x\n", in smic_start_write()
137 device_printf(sc->ipmi_dev, "SMIC: Write did not next %02x\n", in smic_write_next()
161 device_printf(sc->ipmi_dev, "SMIC: Write did not end %02x\n", in smic_write_last()
185 device_printf(sc->ipmi_dev, "SMIC: Read did not start %02x\n", in smic_start_read()
210 device_printf(sc->ipmi_dev, "SMIC: Read did not next %02x\n", in smic_read_byte()
233 device_printf(sc->ipmi_dev, "SMIC: Read did not end %02x\n", in smic_read_end()
247 if (!smic_start_write(sc, req->ir_addr)) in smic_polled_request()
250 device_printf(sc->ipmi_dev, "SMIC: WRITE_START address: %02x\n", in smic_polled_request()
251 req->ir_addr); in smic_polled_request()
254 if (req->ir_requestlen == 0) { in smic_polled_request()
256 if (!smic_write_last(sc, req->ir_command)) in smic_polled_request()
259 device_printf(sc->ipmi_dev, "SMIC: Wrote command: %02x\n", in smic_polled_request()
260 req->ir_command); in smic_polled_request()
264 if (!smic_write_next(sc, req->ir_command)) in smic_polled_request()
267 device_printf(sc->ipmi_dev, "SMIC: Wrote command: %02x\n", in smic_polled_request()
268 req->ir_command); in smic_polled_request()
272 cp = req->ir_request; in smic_polled_request()
273 for (i = 0; i < req->ir_requestlen - 1; i++) { in smic_polled_request()
277 device_printf(sc->ipmi_dev, "SMIC: Wrote data: %02x\n", in smic_polled_request()
278 cp[-1]); in smic_polled_request()
284 device_printf(sc->ipmi_dev, "SMIC: Write last data: %02x\n", in smic_polled_request()
293 device_printf(sc->ipmi_dev, "SMIC: Read address: %02x\n", data); in smic_polled_request()
295 if (data != IPMI_REPLY_ADDR(req->ir_addr)) { in smic_polled_request()
296 device_printf(sc->ipmi_dev, "SMIC: Reply address mismatch\n"); in smic_polled_request()
304 device_printf(sc->ipmi_dev, "SMIC: Read command: %02x\n", data); in smic_polled_request()
306 if (data != req->ir_command) { in smic_polled_request()
307 device_printf(sc->ipmi_dev, "SMIC: Command mismatch\n"); in smic_polled_request()
312 state = smic_read_byte(sc, &req->ir_compcode); in smic_polled_request()
316 device_printf(sc->ipmi_dev, "SMIC: Read completion code: %02x\n", in smic_polled_request()
317 req->ir_compcode); in smic_polled_request()
326 if (i < req->ir_replybuflen) { in smic_polled_request()
327 req->ir_reply[i] = data; in smic_polled_request()
329 device_printf(sc->ipmi_dev, "SMIC: Read data: %02x\n", in smic_polled_request()
332 device_printf(sc->ipmi_dev, in smic_polled_request()
333 "SMIC: Read short %02x byte %d\n", data, i + 1); in smic_polled_request()
342 req->ir_replylen = i; in smic_polled_request()
344 device_printf(sc->ipmi_dev, "SMIC: READ finished (%d bytes)\n", i); in smic_polled_request()
345 if (req->ir_replybuflen < i) in smic_polled_request()
347 if (req->ir_replybuflen < i && req->ir_replybuflen != 0) in smic_polled_request()
349 device_printf(sc->ipmi_dev, in smic_polled_request()
350 "SMIC: Read short: %zd buffer, %d actual\n", in smic_polled_request()
351 req->ir_replybuflen, i); in smic_polled_request()
372 req->ir_error = 0; in smic_loop()
374 req->ir_error = EIO; in smic_loop()
386 return (kproc_create(smic_loop, sc, &sc->ipmi_kthread, 0, 0, in smic_startup()
387 "%s: smic", device_get_nameunit(sc->ipmi_dev))); in smic_startup()
402 req->ir_error = 0; in smic_driver_request()
404 req->ir_error = EIO; in smic_driver_request()
405 return (req->ir_error); in smic_driver_request()
414 sc->ipmi_startup = smic_startup; in ipmi_smic_attach()
415 sc->ipmi_enqueue_request = ipmi_polled_enqueue_request; in ipmi_smic_attach()
416 sc->ipmi_driver_request = smic_driver_request; in ipmi_smic_attach()
417 sc->ipmi_driver_requests_polled = 1; in ipmi_smic_attach()
422 device_printf(sc->ipmi_dev, "couldn't find it\n"); in ipmi_smic_attach()
427 device_printf(sc->ipmi_dev, "SMIC: initial state: %02x\n", flags); in ipmi_smic_attach()