Lines Matching refs:xfer
103 error = usbd_transfer_setup(udev, &iface_index, f->xfer, in ugen_transfer_setup()
107 if (f->xfer[0]->nframes == 1) { in ugen_transfer_setup()
109 f->xfer[0]->max_data_length, 2); in ugen_transfer_setup()
112 f->xfer[0]->max_frame_size, in ugen_transfer_setup()
113 2 * f->xfer[0]->nframes); in ugen_transfer_setup()
116 usbd_transfer_unsetup(f->xfer, n_setup); in ugen_transfer_setup()
167 usbd_transfer_stop(f->xfer[0]); in ugen_close()
168 usbd_transfer_stop(f->xfer[1]); in ugen_close()
171 usbd_transfer_unsetup(f->xfer, 2); in ugen_close()
189 if (f->xfer[0] || f->xfer[1]) { in ugen_open_pipe_write()
258 if (f->xfer[0] || f->xfer[1]) { in ugen_open_pipe_read()
329 usbd_transfer_start(f->xfer[0]); in ugen_start_read()
330 usbd_transfer_start(f->xfer[1]); in ugen_start_read()
342 usbd_transfer_start(f->xfer[0]); in ugen_start_write()
343 usbd_transfer_start(f->xfer[1]); in ugen_start_write()
350 usbd_transfer_stop(f->xfer[0]); in ugen_stop_io()
351 usbd_transfer_stop(f->xfer[1]); in ugen_stop_io()
355 ugen_ctrl_read_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_ctrl_read_callback() argument
357 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_ctrl_read_callback()
360 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes); in ugen_ctrl_read_callback()
362 switch (USB_GET_STATE(xfer)) { in ugen_ctrl_read_callback()
364 if (xfer->actlen == 0) { in ugen_ctrl_read_callback()
372 xfer->interval = 64; /* ms */ in ugen_ctrl_read_callback()
376 xfer->interval = 0; in ugen_ctrl_read_callback()
379 usb_fifo_put_data(f, xfer->frbuffers, 0, in ugen_ctrl_read_callback()
380 xfer->actlen, 1); in ugen_ctrl_read_callback()
384 usbd_transfer_start(f->xfer[1]); in ugen_ctrl_read_callback()
389 usbd_xfer_set_frame_len(xfer, 0, usbd_xfer_max_len(xfer)); in ugen_ctrl_read_callback()
390 usbd_transfer_submit(xfer); in ugen_ctrl_read_callback()
395 if (xfer->error != USB_ERR_CANCELLED) { in ugen_ctrl_read_callback()
397 usb_fifo_put_data(f, xfer->frbuffers, 0, 0, 1); in ugen_ctrl_read_callback()
400 usbd_transfer_start(f->xfer[1]); in ugen_ctrl_read_callback()
407 ugen_ctrl_write_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_ctrl_write_callback() argument
409 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_ctrl_write_callback()
412 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes); in ugen_ctrl_write_callback()
414 switch (USB_GET_STATE(xfer)) { in ugen_ctrl_write_callback()
422 usbd_transfer_start(f->xfer[1]); in ugen_ctrl_write_callback()
428 if (usb_fifo_get_data(f, xfer->frbuffers, 0, in ugen_ctrl_write_callback()
429 xfer->max_data_length, &actlen, 0)) { in ugen_ctrl_write_callback()
430 usbd_xfer_set_frame_len(xfer, 0, actlen); in ugen_ctrl_write_callback()
431 usbd_transfer_submit(xfer); in ugen_ctrl_write_callback()
436 if (xfer->error != USB_ERR_CANCELLED) { in ugen_ctrl_write_callback()
438 usbd_transfer_start(f->xfer[1]); in ugen_ctrl_write_callback()
445 ugen_read_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_read_clear_stall_callback() argument
447 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_read_clear_stall_callback()
448 struct usb_xfer *xfer_other = f->xfer[0]; in ugen_read_clear_stall_callback()
454 if (usbd_clear_stall_callback(xfer, xfer_other)) { in ugen_read_clear_stall_callback()
462 ugen_write_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_write_clear_stall_callback() argument
464 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_write_clear_stall_callback()
465 struct usb_xfer *xfer_other = f->xfer[0]; in ugen_write_clear_stall_callback()
471 if (usbd_clear_stall_callback(xfer, xfer_other)) { in ugen_write_clear_stall_callback()
479 ugen_isoc_read_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_isoc_read_callback() argument
481 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_isoc_read_callback()
485 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes); in ugen_isoc_read_callback()
487 switch (USB_GET_STATE(xfer)) { in ugen_isoc_read_callback()
490 DPRINTFN(6, "actlen=%d\n", xfer->actlen); in ugen_isoc_read_callback()
494 for (n = 0; n != xfer->aframes; n++) { in ugen_isoc_read_callback()
495 usb_fifo_put_data(f, xfer->frbuffers, offset, in ugen_isoc_read_callback()
496 xfer->frlengths[n], 1); in ugen_isoc_read_callback()
497 offset += xfer->max_frame_size; in ugen_isoc_read_callback()
502 for (n = 0; n != xfer->nframes; n++) { in ugen_isoc_read_callback()
504 usbd_xfer_set_frame_len(xfer, n, xfer->max_frame_size); in ugen_isoc_read_callback()
506 usbd_transfer_submit(xfer); in ugen_isoc_read_callback()
510 if (xfer->error == USB_ERR_CANCELLED) { in ugen_isoc_read_callback()
518 ugen_isoc_write_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_isoc_write_callback() argument
520 struct usb_fifo *f = usbd_xfer_softc(xfer); in ugen_isoc_write_callback()
525 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes); in ugen_isoc_write_callback()
527 switch (USB_GET_STATE(xfer)) { in ugen_isoc_write_callback()
532 for (n = 0; n != xfer->nframes; n++) { in ugen_isoc_write_callback()
533 if (usb_fifo_get_data(f, xfer->frbuffers, offset, in ugen_isoc_write_callback()
534 xfer->max_frame_size, &actlen, 1)) { in ugen_isoc_write_callback()
535 usbd_xfer_set_frame_len(xfer, n, actlen); in ugen_isoc_write_callback()
542 for (; n != xfer->nframes; n++) { in ugen_isoc_write_callback()
544 usbd_xfer_set_frame_len(xfer, n, 0); in ugen_isoc_write_callback()
546 usbd_transfer_submit(xfer); in ugen_isoc_write_callback()
550 if (xfer->error == USB_ERR_CANCELLED) { in ugen_isoc_write_callback()
995 struct usb_xfer *xfer = NULL; in ugen_fs_copy_in() local
1009 xfer = f->fs_xfer[ep_index]; in ugen_fs_copy_in()
1010 if (xfer == NULL) { in ugen_fs_copy_in()
1014 if (usbd_transfer_pending(xfer)) { in ugen_fs_copy_in()
1027 if (fs_ep.nFrames > xfer->max_frame_count) { in ugen_fs_copy_in()
1028 xfer->error = USB_ERR_INVAL; in ugen_fs_copy_in()
1032 xfer->error = USB_ERR_INVAL; in ugen_fs_copy_in()
1040 usbd_xfer_set_frame_offset(xfer, 0, 0); in ugen_fs_copy_in()
1042 if (xfer->flags_int.control_xfr) { in ugen_fs_copy_in()
1044 req = xfer->frbuffers[0].buffer; in ugen_fs_copy_in()
1052 xfer->error = USB_ERR_INVAL; in ugen_fs_copy_in()
1062 xfer->error = USB_ERR_INVAL; in ugen_fs_copy_in()
1065 usbd_xfer_set_frame_len(xfer, 0, length); in ugen_fs_copy_in()
1079 if (USB_GET_DATA_ISREAD(xfer)) { in ugen_fs_copy_in()
1088 rem = usbd_xfer_max_len(xfer); in ugen_fs_copy_in()
1089 xfer->nframes = fs_ep.nFrames; in ugen_fs_copy_in()
1090 xfer->timeout = fs_ep.timeout; in ugen_fs_copy_in()
1091 if (xfer->timeout > 65535) { in ugen_fs_copy_in()
1092 xfer->timeout = 65535; in ugen_fs_copy_in()
1095 xfer->flags.short_xfer_ok = 1; in ugen_fs_copy_in()
1097 xfer->flags.short_xfer_ok = 0; in ugen_fs_copy_in()
1100 xfer->flags.short_frames_ok = 1; in ugen_fs_copy_in()
1102 xfer->flags.short_frames_ok = 0; in ugen_fs_copy_in()
1105 xfer->flags.force_short_xfer = 1; in ugen_fs_copy_in()
1107 xfer->flags.force_short_xfer = 0; in ugen_fs_copy_in()
1110 usbd_xfer_set_stall(xfer); in ugen_fs_copy_in()
1112 xfer->flags.stall_pipe = 0; in ugen_fs_copy_in()
1114 for (; n != xfer->nframes; n++) { in ugen_fs_copy_in()
1121 usbd_xfer_set_frame_len(xfer, n, length); in ugen_fs_copy_in()
1124 xfer->error = USB_ERR_INVAL; in ugen_fs_copy_in()
1136 if (xfer->flags_int.isochronous_xfr) { in ugen_fs_copy_in()
1138 kaddr = xfer->frbuffers[0].buffer; in ugen_fs_copy_in()
1142 usbd_xfer_set_frame_offset(xfer, offset, n); in ugen_fs_copy_in()
1145 kaddr = xfer->frbuffers[n].buffer; in ugen_fs_copy_in()
1203 struct usb_xfer *xfer = NULL; in ugen_fs_copy_out() local
1219 xfer = f->fs_xfer[ep_index]; in ugen_fs_copy_out()
1220 if (xfer == NULL) in ugen_fs_copy_out()
1224 if (!xfer->flags_int.transferring && in ugen_fs_copy_out()
1225 !xfer->flags_int.started) { in ugen_fs_copy_out()
1229 } else if (usbd_transfer_pending(xfer)) { in ugen_fs_copy_out()
1240 fs_ep.status = xfer->error; in ugen_fs_copy_out()
1241 fs_ep.aFrames = xfer->aframes; in ugen_fs_copy_out()
1242 fs_ep.isoc_time_complete = xfer->isoc_time_complete; in ugen_fs_copy_out()
1243 if (xfer->error) { in ugen_fs_copy_out()
1246 if (xfer->flags_int.control_xfr) { in ugen_fs_copy_out()
1247 req = xfer->frbuffers[0].buffer; in ugen_fs_copy_out()
1255 if (xfer->nframes == 0) in ugen_fs_copy_out()
1261 if (USB_GET_DATA_ISREAD(xfer)) { in ugen_fs_copy_out()
1271 rem = usbd_xfer_max_len(xfer); in ugen_fs_copy_out()
1274 for (; n != xfer->nframes; n++) { in ugen_fs_copy_out()
1292 length = xfer->frlengths[n]; in ugen_fs_copy_out()
1307 if (xfer->flags_int.isochronous_xfr) { in ugen_fs_copy_out()
1310 xfer->frbuffers[0].buffer, offset); in ugen_fs_copy_out()
1313 kaddr = xfer->frbuffers[n].buffer; in ugen_fs_copy_out()
1367 (f_rx->xfer[0] || f_rx->xfer[1])) { in ugen_fifo_in_use()
1371 (f_tx->xfer[0] || f_tx->xfer[1])) { in ugen_fifo_in_use()
1394 struct usb_xfer *xfer; in ugen_ioctl() local
1436 xfer = f->fs_xfer[u.pstart->ep_index]; in ugen_ioctl()
1437 usbd_transfer_start(xfer); in ugen_ioctl()
1454 xfer = f->fs_xfer[u.pstart->ep_index]; in ugen_ioctl()
1455 if (usbd_transfer_pending(xfer)) { in ugen_ioctl()
1456 usbd_transfer_stop(xfer); in ugen_ioctl()
1463 if (!xfer->flags_int.transferring && in ugen_ioctl()
1464 !xfer->flags_int.started) { in ugen_ioctl()
1466 ugen_fs_set_complete(xfer->priv_sc, in ugen_ioctl()
1467 USB_P2U(xfer->priv_fifo)); in ugen_ioctl()
1679 if (f->xfer[0] || f->xfer[1]) { in ugen_set_short_xfer()
1701 if (f->xfer[0]) { in ugen_get_frame_size()
1702 *(int *)addr = f->xfer[0]->max_frame_size; in ugen_get_frame_size()
1725 if (f->xfer[0] || f->xfer[1]) { in ugen_set_buffer_size()
2560 ugen_ctrl_fs_callback(struct usb_xfer *xfer, usb_error_t error) in ugen_ctrl_fs_callback() argument
2565 USB_GET_STATE(xfer), xfer->actlen, xfer->aframes); in ugen_ctrl_fs_callback()
2567 switch (USB_GET_STATE(xfer)) { in ugen_ctrl_fs_callback()
2569 usbd_transfer_submit(xfer); in ugen_ctrl_fs_callback()
2572 ugen_fs_set_complete(xfer->priv_sc, USB_P2U(xfer->priv_fifo)); in ugen_ctrl_fs_callback()