Lines Matching refs:uc

44 static zyd_res zyd_usb_data_in_start_request(struct zyd_usb *uc);
115 zyd_usb_ctrl_send(struct zyd_usb *uc, uint8_t request, uint16_t value, in zyd_usb_ctrl_send() argument
139 while ((err = usb_pipe_ctrl_xfer_wait(uc->cdata->dev_default_ph, in zyd_usb_ctrl_send()
160 zyd_usb_ctrl_recv(struct zyd_usb *uc, uint8_t request, uint16_t value, in zyd_usb_ctrl_recv() argument
181 err = usb_pipe_ctrl_xfer_wait(uc->cdata->dev_default_ph, in zyd_usb_ctrl_recv()
218 zyd_usb_loadfirmware(struct zyd_usb *uc, uint8_t *fw, size_t size) in zyd_usb_loadfirmware() argument
229 if (zyd_usb_ctrl_send(uc, ZYD_DOWNLOADREQ, addr, fw, mlen) in zyd_usb_loadfirmware()
239 if (zyd_usb_ctrl_recv(uc, ZYD_DOWNLOADSTS, 0, &stat, sizeof (stat)) in zyd_usb_loadfirmware()
341 zyd_usb_open_pipe(struct zyd_usb *uc, in zyd_usb_open_pipe() argument
365 if (usb_pipe_open(uc->dip, &endpoint->ep_descr, in zyd_usb_open_pipe()
385 zyd_usb_open_pipes(struct zyd_usb *uc) in zyd_usb_open_pipes() argument
391 alt_if = usb_lookup_alt_if(uc->cdata, ZYD_USB_CONFIG_NUMBER, in zyd_usb_open_pipes()
404 if (zyd_usb_open_pipe(uc, alt_if, 1, USB_EP_DIR_OUT, USB_EP_ATTR_BULK, in zyd_usb_open_pipes()
405 ZYD_USB_USE_ATTR, &uc->pipe_data_out, &uc->ep_data_out) != in zyd_usb_open_pipes()
411 if (zyd_usb_open_pipe(uc, alt_if, 2, USB_EP_DIR_IN, USB_EP_ATTR_BULK, in zyd_usb_open_pipes()
412 ZYD_USB_USE_ATTR, &uc->pipe_data_in, &uc->ep_data_in) != in zyd_usb_open_pipes()
418 if (zyd_usb_open_pipe(uc, alt_if, 3, USB_EP_DIR_IN, USB_EP_ATTR_INTR, in zyd_usb_open_pipes()
419 ZYD_USB_USE_ATTR, &uc->pipe_cmd_in, &uc->ep_cmd_in) != in zyd_usb_open_pipes()
428 if (zyd_usb_open_pipe(uc, alt_if, 4, USB_EP_DIR_OUT, 0, in zyd_usb_open_pipes()
429 ZYD_USB_NO_ATTR, &uc->pipe_cmd_out, &uc->ep_cmd_out) != in zyd_usb_open_pipes()
438 zyd_usb_close_pipes(uc); in zyd_usb_open_pipes()
446 zyd_usb_close_pipes(struct zyd_usb *uc) in zyd_usb_close_pipes() argument
450 if (uc->pipe_data_out != NULL) { in zyd_usb_close_pipes()
451 usb_pipe_close(uc->dip, uc->pipe_data_out, USB_FLAGS_SLEEP, in zyd_usb_close_pipes()
453 uc->pipe_data_out = NULL; in zyd_usb_close_pipes()
456 if (uc->pipe_data_in != NULL) { in zyd_usb_close_pipes()
457 usb_pipe_close(uc->dip, uc->pipe_data_in, USB_FLAGS_SLEEP, in zyd_usb_close_pipes()
459 uc->pipe_data_in = NULL; in zyd_usb_close_pipes()
462 if (uc->pipe_cmd_in != NULL) { in zyd_usb_close_pipes()
463 usb_pipe_close(uc->dip, uc->pipe_cmd_in, USB_FLAGS_SLEEP, in zyd_usb_close_pipes()
465 uc->pipe_cmd_in = NULL; in zyd_usb_close_pipes()
468 if (uc->pipe_cmd_out != NULL) { in zyd_usb_close_pipes()
469 usb_pipe_close(uc->dip, uc->pipe_cmd_out, USB_FLAGS_SLEEP, in zyd_usb_close_pipes()
471 uc->pipe_cmd_out = NULL; in zyd_usb_close_pipes()
527 zyd_usb_bulk_pipe_send(struct zyd_usb *uc, in zyd_usb_bulk_pipe_send() argument
535 send_req = usb_alloc_bulk_req(uc->dip, len, USB_FLAGS_SLEEP); in zyd_usb_bulk_pipe_send()
564 usb_pipe_reset(uc->dip, pipe, USB_FLAGS_SLEEP, NULL, 0); in zyd_usb_bulk_pipe_send()
600 zyd_usb_intr_pipe_send(struct zyd_usb *uc, in zyd_usb_intr_pipe_send() argument
608 send_req = usb_alloc_intr_req(uc->dip, len, USB_FLAGS_SLEEP); in zyd_usb_intr_pipe_send()
637 usb_pipe_reset(uc->dip, pipe, USB_FLAGS_SLEEP, NULL, 0); in zyd_usb_intr_pipe_send()
658 zyd_usb_cmd_pipe_send(struct zyd_usb *uc, const void *data, size_t len) in zyd_usb_cmd_pipe_send() argument
664 type = uc->ep_cmd_out.ep_descr.bmAttributes & USB_EP_ATTR_MASK; in zyd_usb_cmd_pipe_send()
666 res = zyd_usb_bulk_pipe_send(uc, uc->pipe_cmd_out, data, len); in zyd_usb_cmd_pipe_send()
668 res = zyd_usb_intr_pipe_send(uc, uc->pipe_cmd_out, data, len); in zyd_usb_cmd_pipe_send()
683 zyd_usb_cmd_send(struct zyd_usb *uc, in zyd_usb_cmd_send() argument
692 res = zyd_usb_cmd_pipe_send(uc, &cmd, sizeof (uint16_t) + len); in zyd_usb_cmd_send()
715 zyd_usb_ioread_req(struct zyd_usb *uc, in zyd_usb_ioread_req() argument
722 uc->io_read.done = B_FALSE; in zyd_usb_ioread_req()
723 uc->io_read.buffer = out_data; in zyd_usb_ioread_req()
724 uc->io_read.buf_len = (int)out_len; in zyd_usb_ioread_req()
726 uc->io_read.pending = B_TRUE; in zyd_usb_ioread_req()
728 res = zyd_usb_cmd_send(uc, ZYD_CMD_IORD, in_data, in_len); in zyd_usb_ioread_req()
735 while (uc->io_read.done != B_TRUE && cnt < 500) { in zyd_usb_ioread_req()
740 if (uc->io_read.done != B_TRUE) { in zyd_usb_ioread_req()
745 if (uc->io_read.exc != B_FALSE) { in zyd_usb_ioread_req()
761 struct zyd_usb *uc; in zyd_cmd_in_cb() local
768 uc = (struct zyd_usb *)req->intr_client_private; in zyd_cmd_in_cb()
769 ASSERT(uc != NULL); in zyd_cmd_in_cb()
770 rdp = &uc->io_read; in zyd_cmd_in_cb()
823 struct zyd_usb *uc; in zyd_cmd_in_exc_cb() local
828 uc = (struct zyd_usb *)req->intr_client_private; in zyd_cmd_in_exc_cb()
829 ASSERT(uc != NULL); in zyd_cmd_in_exc_cb()
830 rdp = &uc->io_read; in zyd_cmd_in_exc_cb()
843 zyd_usb_cmd_in_start_polling(struct zyd_usb *uc) in zyd_usb_cmd_in_start_polling() argument
848 intr_req = usb_alloc_intr_req(uc->dip, 0, USB_FLAGS_SLEEP); in zyd_usb_cmd_in_start_polling()
855 intr_req->intr_len = uc->ep_cmd_in.ep_descr.wMaxPacketSize; in zyd_usb_cmd_in_start_polling()
858 intr_req->intr_client_private = (usb_opaque_t)uc; in zyd_usb_cmd_in_start_polling()
860 res = usb_pipe_intr_xfer(uc->pipe_cmd_in, intr_req, USB_FLAGS_NOSLEEP); in zyd_usb_cmd_in_start_polling()
874 zyd_usb_cmd_in_stop_polling(struct zyd_usb *uc) in zyd_usb_cmd_in_stop_polling() argument
878 usb_pipe_stop_intr_polling(uc->pipe_cmd_in, USB_FLAGS_SLEEP); in zyd_usb_cmd_in_stop_polling()
889 struct zyd_usb *uc; in zyd_data_in_cb() local
895 uc = (struct zyd_usb *)req->bulk_client_private; in zyd_data_in_cb()
896 ASSERT(uc != NULL); in zyd_data_in_cb()
897 sc = ZYD_USB_TO_SOFTC(uc); in zyd_data_in_cb()
939 zyd_receive(ZYD_USB_TO_SOFTC(uc), p, len16); in zyd_data_in_cb()
945 zyd_receive(ZYD_USB_TO_SOFTC(uc), data, MBLKL(mblk)); in zyd_data_in_cb()
957 if (zyd_usb_data_in_start_request(uc) != ZYD_SUCCESS) { in zyd_data_in_cb()
969 struct zyd_usb *uc; in zyd_data_in_exc_cb() local
973 uc = (struct zyd_usb *)req->bulk_client_private; in zyd_data_in_exc_cb()
974 ASSERT(uc != NULL); in zyd_data_in_exc_cb()
983 zyd_usb_data_in_start_request(struct zyd_usb *uc) in zyd_usb_data_in_start_request() argument
988 req = usb_alloc_bulk_req(uc->dip, ZYD_RX_BUF_SIZE, USB_FLAGS_SLEEP); in zyd_usb_data_in_start_request()
996 req->bulk_client_private = (usb_opaque_t)uc; in zyd_usb_data_in_start_request()
1002 res = usb_pipe_bulk_xfer(uc->pipe_data_in, req, USB_FLAGS_NOSLEEP); in zyd_usb_data_in_start_request()
1017 zyd_usb_data_in_enable(struct zyd_usb *uc) in zyd_usb_data_in_enable() argument
1020 if (zyd_usb_data_in_start_request(uc) != ZYD_SUCCESS) { in zyd_usb_data_in_enable()
1032 zyd_usb_data_in_disable(struct zyd_usb *uc) in zyd_usb_data_in_disable() argument
1034 usb_pipe_reset(uc->dip, uc->pipe_data_in, USB_FLAGS_SLEEP, in zyd_usb_data_in_disable()
1044 zyd_usb_send_packet(struct zyd_usb *uc, mblk_t *mp) in zyd_usb_send_packet() argument
1049 send_req = usb_alloc_bulk_req(uc->dip, 0, USB_FLAGS_SLEEP); in zyd_usb_send_packet()
1059 send_req->bulk_client_private = (usb_opaque_t)ZYD_USB_TO_SOFTC(uc); in zyd_usb_send_packet()
1065 res = usb_pipe_bulk_xfer(uc->pipe_data_out, send_req, 0); in zyd_usb_send_packet()
1085 struct zyd_usb *uc = &sc->usb; in zyd_usb_init() local
1089 uc->dip = dip; in zyd_usb_init()
1091 ures = usb_client_attach(uc->dip, USBDRV_VERSION, 0); in zyd_usb_init()
1101 ures = usb_get_dev_data(uc->dip, &uc->cdata, USB_PARSE_LVL_ALL, 0); in zyd_usb_init()
1104 ASSERT(uc->cdata == NULL); in zyd_usb_init()
1108 ures = usb_reset_device(uc->dip, USB_RESET_LVL_DEFAULT); in zyd_usb_init()
1114 uc->connected = B_TRUE; in zyd_usb_init()
1126 usb_client_detach(uc->dip, uc->cdata); in zyd_usb_init()
1127 uc->cdata = NULL; in zyd_usb_init()
1137 struct zyd_usb *uc = &sc->usb; in zyd_usb_deinit() local
1141 usb_client_detach(uc->dip, uc->cdata); in zyd_usb_deinit()
1142 uc->cdata = NULL; in zyd_usb_deinit()
1143 uc->connected = B_FALSE; in zyd_usb_deinit()
1153 struct zyd_usb *uc; in zyd_usb_reconnect() local
1157 uc = &sc->usb; in zyd_usb_reconnect()
1158 ASSERT(!uc->connected); in zyd_usb_reconnect()
1186 uc->connected = B_TRUE; in zyd_usb_reconnect()
1190 usb_client_detach(uc->dip, uc->cdata); in zyd_usb_reconnect()
1191 uc->cdata = NULL; in zyd_usb_reconnect()
1199 struct zyd_usb *uc; in zyd_usb_disconnect() local
1203 uc = &sc->usb; in zyd_usb_disconnect()
1205 if (!uc->connected) { in zyd_usb_disconnect()
1209 uc->connected = B_FALSE; in zyd_usb_disconnect()
1228 struct zyd_usb *uc = &sc->usb; in zyd_suspend() local
1230 if (!uc->connected) { in zyd_suspend()
1253 struct zyd_usb *uc = &sc->usb; in zyd_resume() local
1255 if (!uc->connected) { in zyd_resume()
1268 uc->connected = B_FALSE; in zyd_resume()