Lines Matching refs:xfer

646 at91dci_xfer_do_fifo(struct usb_xfer *xfer)
648 struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
654 td = xfer->td_transfer_cache;
663 if (((void *)td) == xfer->td_transfer_last) {
685 xfer->td_transfer_cache = td;
692 temp = (xfer->endpointno & UE_ADDR);
702 xfer->td_transfer_cache = NULL;
707 at91dci_xfer_do_complete(struct usb_xfer *xfer)
712 td = xfer->td_transfer_cache;
715 at91dci_standard_done(xfer);
724 struct usb_xfer *xfer;
726 TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry)
727 at91dci_xfer_do_fifo(xfer);
733 struct usb_xfer *xfer;
735 TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) {
736 if (at91dci_xfer_do_complete(xfer))
901 at91dci_setup_standard_chain(struct usb_xfer *xfer)
911 xfer->address, UE_GET_ADDR(xfer->endpointno),
912 xfer->sumlen, usbd_get_speed(xfer->xroot->udev));
914 temp.max_frame_size = xfer->max_frame_size;
916 td = xfer->td_start[0];
917 xfer->td_transfer_first = td;
918 xfer->td_transfer_cache = td;
924 temp.td_next = xfer->td_start[0];
926 temp.setup_alt_next = xfer->flags_int.short_frames_ok ||
927 xfer->flags_int.isochronous_xfr;
928 temp.did_stall = !xfer->flags_int.control_stall;
930 sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
931 ep_no = (xfer->endpointno & UE_ADDR);
935 if (xfer->flags_int.control_xfr) {
936 if (xfer->flags_int.control_hdr) {
939 temp.len = xfer->frlengths[0];
940 temp.pc = xfer->frbuffers + 0;
943 if (xfer->nframes == 1) {
945 if (xfer->flags_int.control_act)
956 if (x != xfer->nframes) {
957 if (xfer->endpointno & UE_DIR_IN) {
966 temp.pc = xfer->frbuffers + x;
970 while (x != xfer->nframes) {
974 temp.len = xfer->frlengths[x];
978 if (x == xfer->nframes) {
979 if (xfer->flags_int.control_xfr) {
980 if (xfer->flags_int.control_act) {
997 temp.short_pkt = (xfer->flags.force_short_xfer) ? 0 : 1;
1002 if (xfer->flags_int.isochronous_xfr) {
1006 temp.pc = xfer->frbuffers + x;
1011 if (xfer->flags_int.control_xfr) {
1014 temp.pc = xfer->frbuffers + 0;
1027 if (!xfer->flags_int.control_act) {
1033 if (xfer->endpointno & UE_DIR_IN) {
1052 xfer->td_transfer_last = td;
1056 td = xfer->td_transfer_first;
1064 struct usb_xfer *xfer = arg;
1066 DPRINTF("xfer=%p\n", xfer);
1068 USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
1071 at91dci_device_done(xfer, USB_ERR_TIMEOUT);
1075 at91dci_start_standard_chain(struct usb_xfer *xfer)
1077 struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
1084 at91dci_xfer_do_fifo(xfer);
1086 if (at91dci_xfer_do_complete(xfer) == 0) {
1088 uint8_t ep_no = xfer->endpointno & UE_ADDR;
1100 usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer);
1103 if (xfer->timeout != 0) {
1104 usbd_transfer_timeout_ms(xfer,
1105 &at91dci_timeout, xfer->timeout);
1126 at91dci_standard_done_sub(struct usb_xfer *xfer)
1134 td = xfer->td_transfer_cache;
1139 if (xfer->aframes != xfer->nframes) {
1144 if (len > xfer->frlengths[xfer->aframes]) {
1147 xfer->frlengths[xfer->aframes] -= len;
1159 if (xfer->flags_int.short_frames_ok ||
1160 xfer->flags_int.isochronous_xfr) {
1184 xfer->td_transfer_cache = td;
1191 at91dci_standard_done(struct usb_xfer *xfer)
1195 DPRINTFN(13, "xfer=%p endpoint=%p transfer done\n",
1196 xfer, xfer->endpoint);
1200 xfer->td_transfer_cache = xfer->td_transfer_first;
1202 if (xfer->flags_int.control_xfr) {
1204 if (xfer->flags_int.control_hdr) {
1206 err = at91dci_standard_done_sub(xfer);
1208 xfer->aframes = 1;
1210 if (xfer->td_transfer_cache == NULL) {
1214 while (xfer->aframes != xfer->nframes) {
1216 err = at91dci_standard_done_sub(xfer);
1217 xfer->aframes++;
1219 if (xfer->td_transfer_cache == NULL) {
1224 if (xfer->flags_int.control_xfr &&
1225 !xfer->flags_int.control_act) {
1227 err = at91dci_standard_done_sub(xfer);
1230 at91dci_device_done(xfer, err);
1240 at91dci_device_done(struct usb_xfer *xfer, usb_error_t error)
1242 struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
1247 DPRINTFN(2, "xfer=%p, endpoint=%p, error=%d\n",
1248 xfer, xfer->endpoint, error);
1252 if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) {
1253 ep_no = (xfer->endpointno & UE_ADDR);
1262 usbd_transfer_done(xfer, error);
1268 at91dci_xfer_stall(struct usb_xfer *xfer)
1270 at91dci_device_done(xfer, USB_ERR_STALLED);
1542 at91dci_device_bulk_open(struct usb_xfer *xfer)
1548 at91dci_device_bulk_close(struct usb_xfer *xfer)
1550 at91dci_device_done(xfer, USB_ERR_CANCELLED);
1554 at91dci_device_bulk_enter(struct usb_xfer *xfer)
1560 at91dci_device_bulk_start(struct usb_xfer *xfer)
1563 at91dci_setup_standard_chain(xfer);
1564 at91dci_start_standard_chain(xfer);
1579 at91dci_device_ctrl_open(struct usb_xfer *xfer)
1585 at91dci_device_ctrl_close(struct usb_xfer *xfer)
1587 at91dci_device_done(xfer, USB_ERR_CANCELLED);
1591 at91dci_device_ctrl_enter(struct usb_xfer *xfer)
1597 at91dci_device_ctrl_start(struct usb_xfer *xfer)
1600 at91dci_setup_standard_chain(xfer);
1601 at91dci_start_standard_chain(xfer);
1616 at91dci_device_intr_open(struct usb_xfer *xfer)
1622 at91dci_device_intr_close(struct usb_xfer *xfer)
1624 at91dci_device_done(xfer, USB_ERR_CANCELLED);
1628 at91dci_device_intr_enter(struct usb_xfer *xfer)
1634 at91dci_device_intr_start(struct usb_xfer *xfer)
1637 at91dci_setup_standard_chain(xfer);
1638 at91dci_start_standard_chain(xfer);
1653 at91dci_device_isoc_fs_open(struct usb_xfer *xfer)
1659 at91dci_device_isoc_fs_close(struct usb_xfer *xfer)
1661 at91dci_device_done(xfer, USB_ERR_CANCELLED);
1665 at91dci_device_isoc_fs_enter(struct usb_xfer *xfer)
1667 struct at91dci_softc *sc = AT9100_DCI_BUS2SC(xfer->xroot->bus);
1671 DPRINTFN(6, "xfer=%p next=%d nframes=%d\n",
1672 xfer, xfer->endpoint->isoc_next, xfer->nframes);
1682 temp = (nframes - xfer->endpoint->isoc_next) & AT91_UDP_FRM_MASK;
1684 if ((xfer->endpoint->is_synced == 0) ||
1685 (temp < xfer->nframes)) {
1692 xfer->endpoint->isoc_next = (nframes + 3) & AT91_UDP_FRM_MASK;
1693 xfer->endpoint->is_synced = 1;
1694 DPRINTFN(3, "start next=%d\n", xfer->endpoint->isoc_next);
1700 temp = (xfer->endpoint->isoc_next - nframes) & AT91_UDP_FRM_MASK;
1705 xfer->isoc_time_complete =
1707 xfer->nframes;
1710 xfer->endpoint->isoc_next += xfer->nframes;
1713 at91dci_setup_standard_chain(xfer);
1717 at91dci_device_isoc_fs_start(struct usb_xfer *xfer)
1720 at91dci_start_standard_chain(xfer);
2203 struct usb_xfer *xfer;
2210 xfer = parm->curr_xfer;
2228 ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC 1 */
2233 ntd = xfer->nframes + 1 /* SYNC */ ;
2237 ntd = xfer->nframes + 1 /* SYNC */ ;
2241 ntd = xfer->nframes + 1 /* SYNC */ ;
2264 ep_no = xfer->endpointno & UE_ADDR;
2289 td->max_packet_size = xfer->max_packet_size;
2302 xfer->td_start[0] = last_obj;
2306 at91dci_xfer_unsetup(struct usb_xfer *xfer)