Lines Matching refs:xfer

154 	error = usbd_transfer_setup(udev, &iface_index, f->xfer,
158 if (f->xfer[0]->nframes == 1) {
160 f->xfer[0]->max_data_length, 2);
163 f->xfer[0]->max_frame_size,
164 2 * f->xfer[0]->nframes);
167 usbd_transfer_unsetup(f->xfer, n_setup);
220 usbd_transfer_stop(f->xfer[0]);
221 usbd_transfer_stop(f->xfer[1]);
224 usbd_transfer_unsetup(f->xfer, 2);
242 if (f->xfer[0] || f->xfer[1]) {
311 if (f->xfer[0] || f->xfer[1]) {
382 usbd_transfer_start(f->xfer[0]);
383 usbd_transfer_start(f->xfer[1]);
395 usbd_transfer_start(f->xfer[0]);
396 usbd_transfer_start(f->xfer[1]);
403 usbd_transfer_stop(f->xfer[0]);
404 usbd_transfer_stop(f->xfer[1]);
408 ugen_ctrl_read_callback(struct usb_xfer *xfer, usb_error_t error)
410 struct usb_fifo *f = usbd_xfer_softc(xfer);
413 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
415 switch (USB_GET_STATE(xfer)) {
417 if (xfer->actlen == 0) {
425 xfer->interval = 64; /* ms */
429 xfer->interval = 0;
432 usb_fifo_put_data(f, xfer->frbuffers, 0,
433 xfer->actlen, 1);
437 usbd_transfer_start(f->xfer[1]);
442 usbd_xfer_set_frame_len(xfer, 0, usbd_xfer_max_len(xfer));
443 usbd_transfer_submit(xfer);
448 if (xfer->error != USB_ERR_CANCELLED) {
450 usb_fifo_put_data(f, xfer->frbuffers, 0, 0, 1);
453 usbd_transfer_start(f->xfer[1]);
460 ugen_ctrl_write_callback(struct usb_xfer *xfer, usb_error_t error)
462 struct usb_fifo *f = usbd_xfer_softc(xfer);
465 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
467 switch (USB_GET_STATE(xfer)) {
475 usbd_transfer_start(f->xfer[1]);
481 if (usb_fifo_get_data(f, xfer->frbuffers, 0,
482 xfer->max_data_length, &actlen, 0)) {
483 usbd_xfer_set_frame_len(xfer, 0, actlen);
484 usbd_transfer_submit(xfer);
489 if (xfer->error != USB_ERR_CANCELLED) {
491 usbd_transfer_start(f->xfer[1]);
498 ugen_read_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error)
500 struct usb_fifo *f = usbd_xfer_softc(xfer);
501 struct usb_xfer *xfer_other = f->xfer[0];
507 if (usbd_clear_stall_callback(xfer, xfer_other)) {
515 ugen_write_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error)
517 struct usb_fifo *f = usbd_xfer_softc(xfer);
518 struct usb_xfer *xfer_other = f->xfer[0];
524 if (usbd_clear_stall_callback(xfer, xfer_other)) {
532 ugen_isoc_read_callback(struct usb_xfer *xfer, usb_error_t error)
534 struct usb_fifo *f = usbd_xfer_softc(xfer);
538 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
540 switch (USB_GET_STATE(xfer)) {
543 DPRINTFN(6, "actlen=%d\n", xfer->actlen);
547 for (n = 0; n != xfer->aframes; n++) {
548 usb_fifo_put_data(f, xfer->frbuffers, offset,
549 xfer->frlengths[n], 1);
550 offset += xfer->max_frame_size;
555 for (n = 0; n != xfer->nframes; n++) {
557 usbd_xfer_set_frame_len(xfer, n, xfer->max_frame_size);
559 usbd_transfer_submit(xfer);
563 if (xfer->error == USB_ERR_CANCELLED) {
571 ugen_isoc_write_callback(struct usb_xfer *xfer, usb_error_t error)
573 struct usb_fifo *f = usbd_xfer_softc(xfer);
578 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
580 switch (USB_GET_STATE(xfer)) {
585 for (n = 0; n != xfer->nframes; n++) {
586 if (usb_fifo_get_data(f, xfer->frbuffers, offset,
587 xfer->max_frame_size, &actlen, 1)) {
588 usbd_xfer_set_frame_len(xfer, n, actlen);
595 for (; n != xfer->nframes; n++) {
597 usbd_xfer_set_frame_len(xfer, n, 0);
599 usbd_transfer_submit(xfer);
603 if (xfer->error == USB_ERR_CANCELLED) {
1045 struct usb_xfer *xfer;
1059 xfer = f->fs_xfer[ep_index];
1060 if (xfer == NULL) {
1064 if (usbd_transfer_pending(xfer)) {
1077 if (fs_ep.nFrames > xfer->max_frame_count) {
1078 xfer->error = USB_ERR_INVAL;
1082 xfer->error = USB_ERR_INVAL;
1091 usbd_xfer_set_frame_offset(xfer, 0, 0);
1093 if (xfer->flags_int.control_xfr) {
1095 req = xfer->frbuffers[0].buffer;
1103 xfer->error = USB_ERR_INVAL;
1113 xfer->error = USB_ERR_INVAL;
1116 usbd_xfer_set_frame_len(xfer, 0, length);
1130 if (USB_GET_DATA_ISREAD(xfer)) {
1139 rem = usbd_xfer_max_len(xfer);
1140 xfer->nframes = fs_ep.nFrames;
1141 xfer->timeout = fs_ep.timeout;
1142 if (xfer->timeout > 65535) {
1143 xfer->timeout = 65535;
1146 xfer->flags.short_xfer_ok = 1;
1148 xfer->flags.short_xfer_ok = 0;
1151 xfer->flags.short_frames_ok = 1;
1153 xfer->flags.short_frames_ok = 0;
1156 xfer->flags.force_short_xfer = 1;
1158 xfer->flags.force_short_xfer = 0;
1161 usbd_xfer_set_stall(xfer);
1163 xfer->flags.stall_pipe = 0;
1165 for (; n != xfer->nframes; n++) {
1172 usbd_xfer_set_frame_len(xfer, n, length);
1175 xfer->error = USB_ERR_INVAL;
1188 if (xfer->flags_int.isochronous_xfr) {
1190 kaddr = xfer->frbuffers[0].buffer;
1194 usbd_xfer_set_frame_offset(xfer, offset, n);
1197 kaddr = xfer->frbuffers[n].buffer;
1255 struct usb_xfer *xfer;
1271 xfer = f->fs_xfer[ep_index];
1272 if (xfer == NULL)
1276 if (!xfer->flags_int.transferring &&
1277 !xfer->flags_int.started) {
1281 } else if (usbd_transfer_pending(xfer)) {
1292 fs_ep.status = xfer->error;
1293 fs_ep.aFrames = xfer->aframes;
1294 fs_ep.isoc_time_complete = xfer->isoc_time_complete;
1295 if (xfer->error) {
1298 if (xfer->flags_int.control_xfr) {
1299 req = xfer->frbuffers[0].buffer;
1307 if (xfer->nframes == 0)
1313 if (USB_GET_DATA_ISREAD(xfer)) {
1323 rem = usbd_xfer_max_len(xfer);
1326 for (; n != xfer->nframes; n++) {
1344 length = xfer->frlengths[n];
1360 if (xfer->flags_int.isochronous_xfr) {
1363 xfer->frbuffers[0].buffer, offset);
1366 kaddr = xfer->frbuffers[n].buffer;
1420 (f_rx->xfer[0] || f_rx->xfer[1])) {
1424 (f_tx->xfer[0] || f_tx->xfer[1])) {
1447 struct usb_xfer *xfer;
1477 xfer = f->fs_xfer[u.pstart->ep_index];
1478 usbd_transfer_start(xfer);
1488 xfer = f->fs_xfer[u.pstart->ep_index];
1489 if (usbd_transfer_pending(xfer)) {
1490 usbd_transfer_stop(xfer);
1497 if (!xfer->flags_int.transferring &&
1498 !xfer->flags_int.started) {
1500 ugen_fs_set_complete(xfer->priv_sc,
1501 USB_P2U(xfer->priv_fifo));
1683 if (f->xfer[0] || f->xfer[1]) {
1705 if (f->xfer[0]) {
1706 *(int *)addr = f->xfer[0]->max_frame_size;
1729 if (f->xfer[0] || f->xfer[1]) {
2360 ugen_ctrl_fs_callback(struct usb_xfer *xfer, usb_error_t error)
2365 USB_GET_STATE(xfer), xfer->actlen, xfer->aframes);
2367 switch (USB_GET_STATE(xfer)) {
2369 usbd_transfer_submit(xfer);
2372 ugen_fs_set_complete(xfer->priv_sc, USB_P2U(xfer->priv_fifo));