Lines Matching defs:xfer

100 	error = usbd_transfer_setup(udev, &iface_index, f->xfer,
103 if (f->xfer[0]->nframes == 1) {
105 f->xfer[0]->max_data_length, 2);
108 f->xfer[0]->max_frame_size,
109 2 * f->xfer[0]->nframes);
112 usbd_transfer_unsetup(f->xfer, n_setup);
163 usbd_transfer_stop(f->xfer[0]);
164 usbd_transfer_stop(f->xfer[1]);
167 usbd_transfer_unsetup(f->xfer, 2);
185 if (f->xfer[0] || f->xfer[1]) {
254 if (f->xfer[0] || f->xfer[1]) {
325 usbd_transfer_start(f->xfer[0]);
326 usbd_transfer_start(f->xfer[1]);
338 usbd_transfer_start(f->xfer[0]);
339 usbd_transfer_start(f->xfer[1]);
346 usbd_transfer_stop(f->xfer[0]);
347 usbd_transfer_stop(f->xfer[1]);
351 ugen_ctrl_read_callback(struct usb_xfer *xfer, usb_error_t error)
353 struct usb_fifo *f = usbd_xfer_softc(xfer);
356 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
358 switch (USB_GET_STATE(xfer)) {
360 if (xfer->actlen == 0) {
368 xfer->interval = 64; /* ms */
372 xfer->interval = 0;
375 usb_fifo_put_data(f, xfer->frbuffers, 0,
376 xfer->actlen, 1);
380 usbd_transfer_start(f->xfer[1]);
385 usbd_xfer_set_frame_len(xfer, 0, usbd_xfer_max_len(xfer));
386 usbd_transfer_submit(xfer);
391 if (xfer->error != USB_ERR_CANCELLED) {
393 usb_fifo_put_data(f, xfer->frbuffers, 0, 0, 1);
396 usbd_transfer_start(f->xfer[1]);
403 ugen_ctrl_write_callback(struct usb_xfer *xfer, usb_error_t error)
405 struct usb_fifo *f = usbd_xfer_softc(xfer);
408 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
410 switch (USB_GET_STATE(xfer)) {
418 usbd_transfer_start(f->xfer[1]);
424 if (usb_fifo_get_data(f, xfer->frbuffers, 0,
425 xfer->max_data_length, &actlen, 0)) {
426 usbd_xfer_set_frame_len(xfer, 0, actlen);
427 usbd_transfer_submit(xfer);
432 if (xfer->error != USB_ERR_CANCELLED) {
434 usbd_transfer_start(f->xfer[1]);
441 ugen_read_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error)
443 struct usb_fifo *f = usbd_xfer_softc(xfer);
444 struct usb_xfer *xfer_other = f->xfer[0];
450 if (usbd_clear_stall_callback(xfer, xfer_other)) {
458 ugen_write_clear_stall_callback(struct usb_xfer *xfer, usb_error_t error)
460 struct usb_fifo *f = usbd_xfer_softc(xfer);
461 struct usb_xfer *xfer_other = f->xfer[0];
467 if (usbd_clear_stall_callback(xfer, xfer_other)) {
475 ugen_isoc_read_callback(struct usb_xfer *xfer, usb_error_t error)
477 struct usb_fifo *f = usbd_xfer_softc(xfer);
481 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
483 switch (USB_GET_STATE(xfer)) {
486 DPRINTFN(6, "actlen=%d\n", xfer->actlen);
490 for (n = 0; n != xfer->aframes; n++) {
491 usb_fifo_put_data(f, xfer->frbuffers, offset,
492 xfer->frlengths[n], 1);
493 offset += xfer->max_frame_size;
498 for (n = 0; n != xfer->nframes; n++) {
500 usbd_xfer_set_frame_len(xfer, n, xfer->max_frame_size);
502 usbd_transfer_submit(xfer);
506 if (xfer->error == USB_ERR_CANCELLED) {
514 ugen_isoc_write_callback(struct usb_xfer *xfer, usb_error_t error)
516 struct usb_fifo *f = usbd_xfer_softc(xfer);
521 DPRINTFN(4, "actlen=%u, aframes=%u\n", xfer->actlen, xfer->aframes);
523 switch (USB_GET_STATE(xfer)) {
528 for (n = 0; n != xfer->nframes; n++) {
529 if (usb_fifo_get_data(f, xfer->frbuffers, offset,
530 xfer->max_frame_size, &actlen, 1)) {
531 usbd_xfer_set_frame_len(xfer, n, actlen);
538 for (; n != xfer->nframes; n++) {
540 usbd_xfer_set_frame_len(xfer, n, 0);
542 usbd_transfer_submit(xfer);
546 if (xfer->error == USB_ERR_CANCELLED) {
939 struct usb_xfer *xfer = NULL;
953 xfer = f->fs_xfer[ep_index];
954 if (xfer == NULL) {
958 if (usbd_transfer_pending(xfer)) {
971 if (fs_ep.nFrames > xfer->max_frame_count) {
972 xfer->error = USB_ERR_INVAL;
976 xfer->error = USB_ERR_INVAL;
984 usbd_xfer_set_frame_offset(xfer, 0, 0);
986 if (xfer->flags_int.control_xfr) {
987 req = xfer->frbuffers[0].buffer;
995 xfer->error = USB_ERR_INVAL;
1005 xfer->error = USB_ERR_INVAL;
1008 usbd_xfer_set_frame_len(xfer, 0, length);
1022 if (USB_GET_DATA_ISREAD(xfer)) {
1031 rem = usbd_xfer_max_len(xfer);
1032 xfer->nframes = fs_ep.nFrames;
1033 xfer->timeout = fs_ep.timeout;
1034 if (xfer->timeout > 65535) {
1035 xfer->timeout = 65535;
1038 xfer->flags.short_xfer_ok = 1;
1040 xfer->flags.short_xfer_ok = 0;
1043 xfer->flags.short_frames_ok = 1;
1045 xfer->flags.short_frames_ok = 0;
1048 xfer->flags.force_short_xfer = 1;
1050 xfer->flags.force_short_xfer = 0;
1053 usbd_xfer_set_stall(xfer);
1055 xfer->flags.stall_pipe = 0;
1057 for (; n != xfer->nframes; n++) {
1063 usbd_xfer_set_frame_len(xfer, n, length);
1066 xfer->error = USB_ERR_INVAL;
1077 if (xfer->flags_int.isochronous_xfr) {
1079 kaddr = xfer->frbuffers[0].buffer;
1083 usbd_xfer_set_frame_offset(xfer, offset, n);
1086 kaddr = xfer->frbuffers[n].buffer;
1144 struct usb_xfer *xfer = NULL;
1160 xfer = f->fs_xfer[ep_index];
1161 if (xfer == NULL)
1165 if (!xfer->flags_int.transferring &&
1166 !xfer->flags_int.started) {
1170 } else if (usbd_transfer_pending(xfer)) {
1181 fs_ep.status = xfer->error;
1182 fs_ep.aFrames = xfer->aframes;
1183 fs_ep.isoc_time_complete = xfer->isoc_time_complete;
1184 if (xfer->error) {
1187 if (xfer->flags_int.control_xfr) {
1188 req = xfer->frbuffers[0].buffer;
1196 if (xfer->nframes == 0)
1202 if (USB_GET_DATA_ISREAD(xfer)) {
1212 rem = usbd_xfer_max_len(xfer);
1215 for (; n != xfer->nframes; n++) {
1232 length = xfer->frlengths[n];
1246 if (xfer->flags_int.isochronous_xfr) {
1249 xfer->frbuffers[0].buffer, offset);
1252 kaddr = xfer->frbuffers[n].buffer;
1306 (f_rx->xfer[0] || f_rx->xfer[1])) {
1310 (f_tx->xfer[0] || f_tx->xfer[1])) {
1333 struct usb_xfer *xfer;
1375 xfer = f->fs_xfer[u.pstart->ep_index];
1376 usbd_transfer_start(xfer);
1393 xfer = f->fs_xfer[u.pstart->ep_index];
1394 if (usbd_transfer_pending(xfer)) {
1395 usbd_transfer_stop(xfer);
1402 if (!xfer->flags_int.transferring &&
1403 !xfer->flags_int.started) {
1405 ugen_fs_set_complete(xfer->priv_sc,
1406 USB_P2U(xfer->priv_fifo));
1617 if (f->xfer[0] || f->xfer[1]) {
1639 if (f->xfer[0]) {
1640 *(int *)addr = f->xfer[0]->max_frame_size;
1663 if (f->xfer[0] || f->xfer[1]) {
2497 ugen_ctrl_fs_callback(struct usb_xfer *xfer, usb_error_t error)
2502 USB_GET_STATE(xfer), xfer->actlen, xfer->aframes);
2504 switch (USB_GET_STATE(xfer)) {
2506 usbd_transfer_submit(xfer);
2509 ugen_fs_set_complete(xfer->priv_sc, USB_P2U(xfer->priv_fifo));