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