Lines Matching refs:xfer

574 atmegadci_xfer_do_fifo(struct usb_xfer *xfer)
580 td = xfer->td_transfer_cache;
586 if (((void *)td) == xfer->td_transfer_last) {
605 xfer->td_transfer_cache = td;
612 atmegadci_standard_done(xfer);
619 struct usb_xfer *xfer;
622 TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) {
623 if (!atmegadci_xfer_do_fifo(xfer)) {
782 atmegadci_setup_standard_chain(struct usb_xfer *xfer)
792 xfer->address, UE_GET_ADDR(xfer->endpointno),
793 xfer->sumlen, usbd_get_speed(xfer->xroot->udev));
795 temp.max_frame_size = xfer->max_frame_size;
797 td = xfer->td_start[0];
798 xfer->td_transfer_first = td;
799 xfer->td_transfer_cache = td;
805 temp.td_next = xfer->td_start[0];
807 temp.setup_alt_next = xfer->flags_int.short_frames_ok ||
808 xfer->flags_int.isochronous_xfr;
809 temp.did_stall = !xfer->flags_int.control_stall;
811 sc = ATMEGA_BUS2SC(xfer->xroot->bus);
812 ep_no = (xfer->endpointno & UE_ADDR);
816 if (xfer->flags_int.control_xfr) {
817 if (xfer->flags_int.control_hdr) {
820 temp.len = xfer->frlengths[0];
821 temp.pc = xfer->frbuffers + 0;
824 if (xfer->nframes == 1) {
826 if (xfer->flags_int.control_act)
837 if (x != xfer->nframes) {
838 if (xfer->endpointno & UE_DIR_IN) {
847 temp.pc = xfer->frbuffers + x;
851 while (x != xfer->nframes) {
855 temp.len = xfer->frlengths[x];
859 if (x == xfer->nframes) {
860 if (xfer->flags_int.control_xfr) {
861 if (xfer->flags_int.control_act) {
878 temp.short_pkt = (xfer->flags.force_short_xfer) ? 0 : 1;
883 if (xfer->flags_int.isochronous_xfr) {
887 temp.pc = xfer->frbuffers + x;
891 if (xfer->flags_int.control_xfr) {
894 temp.pc = xfer->frbuffers + 0;
907 if (!xfer->flags_int.control_act) {
913 if (xfer->endpointno & UE_DIR_IN) {
931 xfer->td_transfer_last = td;
937 struct usb_xfer *xfer = arg;
939 DPRINTF("xfer=%p\n", xfer);
941 USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
944 atmegadci_device_done(xfer, USB_ERR_TIMEOUT);
948 atmegadci_start_standard_chain(struct usb_xfer *xfer)
953 if (atmegadci_xfer_do_fifo(xfer)) {
956 usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer);
959 if (xfer->timeout != 0) {
960 usbd_transfer_timeout_ms(xfer,
961 &atmegadci_timeout, xfer->timeout);
981 atmegadci_standard_done_sub(struct usb_xfer *xfer)
989 td = xfer->td_transfer_cache;
994 if (xfer->aframes != xfer->nframes) {
999 if (len > xfer->frlengths[xfer->aframes]) {
1002 xfer->frlengths[xfer->aframes] -= len;
1014 if (xfer->flags_int.short_frames_ok ||
1015 xfer->flags_int.isochronous_xfr) {
1039 xfer->td_transfer_cache = td;
1046 atmegadci_standard_done(struct usb_xfer *xfer)
1050 DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n",
1051 xfer, xfer->endpoint);
1055 xfer->td_transfer_cache = xfer->td_transfer_first;
1057 if (xfer->flags_int.control_xfr) {
1059 if (xfer->flags_int.control_hdr) {
1061 err = atmegadci_standard_done_sub(xfer);
1063 xfer->aframes = 1;
1065 if (xfer->td_transfer_cache == NULL) {
1069 while (xfer->aframes != xfer->nframes) {
1071 err = atmegadci_standard_done_sub(xfer);
1072 xfer->aframes++;
1074 if (xfer->td_transfer_cache == NULL) {
1079 if (xfer->flags_int.control_xfr &&
1080 !xfer->flags_int.control_act) {
1082 err = atmegadci_standard_done_sub(xfer);
1085 atmegadci_device_done(xfer, err);
1095 atmegadci_device_done(struct usb_xfer *xfer, usb_error_t error)
1097 struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus);
1102 DPRINTFN(9, "xfer=%p, endpoint=%p, error=%d\n",
1103 xfer, xfer->endpoint, error);
1105 if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) {
1106 ep_no = (xfer->endpointno & UE_ADDR);
1117 usbd_transfer_done(xfer, error);
1121 atmegadci_xfer_stall(struct usb_xfer *xfer)
1123 atmegadci_device_done(xfer, USB_ERR_STALLED);
1390 atmegadci_device_non_isoc_open(struct usb_xfer *xfer)
1396 atmegadci_device_non_isoc_close(struct usb_xfer *xfer)
1398 atmegadci_device_done(xfer, USB_ERR_CANCELLED);
1402 atmegadci_device_non_isoc_enter(struct usb_xfer *xfer)
1408 atmegadci_device_non_isoc_start(struct usb_xfer *xfer)
1411 atmegadci_setup_standard_chain(xfer);
1412 atmegadci_start_standard_chain(xfer);
1427 atmegadci_device_isoc_fs_open(struct usb_xfer *xfer)
1433 atmegadci_device_isoc_fs_close(struct usb_xfer *xfer)
1435 atmegadci_device_done(xfer, USB_ERR_CANCELLED);
1439 atmegadci_device_isoc_fs_enter(struct usb_xfer *xfer)
1441 struct atmegadci_softc *sc = ATMEGA_BUS2SC(xfer->xroot->bus);
1445 DPRINTFN(6, "xfer=%p next=%d nframes=%d\n",
1446 xfer, xfer->endpoint->isoc_next, xfer->nframes);
1460 temp = (nframes - xfer->endpoint->isoc_next) & ATMEGA_FRAME_MASK;
1462 if ((xfer->endpoint->is_synced == 0) ||
1463 (temp < xfer->nframes)) {
1470 xfer->endpoint->isoc_next = (nframes + 3) & ATMEGA_FRAME_MASK;
1471 xfer->endpoint->is_synced = 1;
1472 DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next);
1478 temp = (xfer->endpoint->isoc_next - nframes) & ATMEGA_FRAME_MASK;
1483 xfer->isoc_time_complete =
1485 xfer->nframes;
1488 xfer->endpoint->isoc_next += xfer->nframes;
1491 atmegadci_setup_standard_chain(xfer);
1495 atmegadci_device_isoc_fs_start(struct usb_xfer *xfer)
1498 atmegadci_start_standard_chain(xfer);
2013 struct usb_xfer *xfer;
2020 xfer = parm->curr_xfer;
2036 if ((xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE) == UE_CONTROL) {
2038 ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */
2042 ntd = xfer->nframes + 1 /* SYNC */ ;
2059 ep_no = xfer->endpointno & UE_ADDR;
2080 td->max_packet_size = xfer->max_packet_size;
2092 xfer->td_start[0] = last_obj;
2096 atmegadci_xfer_unsetup(struct usb_xfer *xfer)