Lines Matching defs:xfer

2127 musbotg_xfer_do_fifo(struct usb_xfer *xfer)
2133 sc = MUSBOTG_BUS2SC(xfer->xroot->bus);
2135 td = xfer->td_transfer_cache;
2143 if (((void *)td) == xfer->td_transfer_last) {
2162 xfer->td_transfer_cache = td;
2168 musbotg_standard_done(xfer);
2176 struct usb_xfer *xfer;
2179 TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) {
2180 if (!musbotg_xfer_do_fifo(xfer)) {
2394 musbotg_setup_standard_chain(struct usb_xfer *xfer)
2407 xfer->address, UE_GET_ADDR(xfer->endpointno),
2408 xfer->sumlen, usbd_get_speed(xfer->xroot->udev));
2410 sc = MUSBOTG_BUS2SC(xfer->xroot->bus);
2411 ep_no = (xfer->endpointno & UE_ADDR);
2413 temp.max_frame_size = xfer->max_frame_size;
2415 td = xfer->td_start[0];
2416 xfer->td_transfer_first = td;
2417 xfer->td_transfer_cache = td;
2420 dev_addr = xfer->address;
2422 xfer_type = xfer->endpoint->edesc->bmAttributes & UE_XFERTYPE;
2426 temp.td_next = xfer->td_start[0];
2428 temp.setup_alt_next = xfer->flags_int.short_frames_ok ||
2429 xfer->flags_int.isochronous_xfr;
2430 temp.did_stall = !xfer->flags_int.control_stall;
2433 temp.haddr = xfer->xroot->udev->hs_hub_addr;
2434 temp.hport = xfer->xroot->udev->hs_port_no;
2436 if (xfer->flags_int.usb_mode == USB_MODE_HOST) {
2437 speed = usbd_get_speed(xfer->xroot->udev);
2475 td->toggle = xfer->endpoint->toggle_next;
2480 if (xfer->flags_int.control_xfr) {
2481 if (xfer->flags_int.control_hdr) {
2483 if (xfer->flags_int.usb_mode == USB_MODE_DEVICE)
2488 temp.len = xfer->frlengths[0];
2489 temp.pc = xfer->frbuffers + 0;
2501 if (x != xfer->nframes) {
2502 if (xfer->endpointno & UE_DIR_IN)
2505 if (xfer->flags_int.usb_mode == USB_MODE_HOST) {
2509 if (xfer->flags_int.control_xfr)
2514 if (xfer->flags_int.control_xfr)
2522 if (xfer->flags_int.control_xfr)
2527 if (xfer->flags_int.control_xfr)
2535 temp.pc = xfer->frbuffers + x;
2537 while (x != xfer->nframes) {
2541 temp.len = xfer->frlengths[x];
2545 if (x == xfer->nframes) {
2546 if (xfer->flags_int.control_xfr) {
2547 if (xfer->flags_int.control_act) {
2562 if (xfer->flags_int.isochronous_xfr) {
2568 temp.short_pkt = (xfer->flags.force_short_xfer ? 0 : 1);
2574 if (xfer->flags_int.isochronous_xfr) {
2578 temp.pc = xfer->frbuffers + x;
2583 if (xfer->flags_int.control_xfr) {
2586 temp.pc = xfer->frbuffers + 0;
2592 if (!xfer->flags_int.control_act) {
2600 if (xfer->endpointno & UE_DIR_IN)
2610 xfer->td_transfer_last = td;
2616 struct usb_xfer *xfer = arg;
2618 DPRINTFN(1, "xfer=%p\n", xfer);
2620 USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
2623 musbotg_device_done(xfer, USB_ERR_TIMEOUT);
2670 musbotg_start_standard_chain(struct usb_xfer *xfer)
2675 if (musbotg_xfer_do_fifo(xfer)) {
2680 usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer);
2683 if (xfer->timeout != 0) {
2684 usbd_transfer_timeout_ms(xfer,
2685 &musbotg_timeout, xfer->timeout);
2705 musbotg_standard_done_sub(struct usb_xfer *xfer)
2713 td = xfer->td_transfer_cache;
2718 xfer->endpoint->toggle_next = td->toggle;
2720 if (xfer->aframes != xfer->nframes) {
2725 if (len > xfer->frlengths[xfer->aframes]) {
2728 xfer->frlengths[xfer->aframes] -= len;
2740 if (xfer->flags_int.short_frames_ok ||
2741 xfer->flags_int.isochronous_xfr) {
2765 xfer->td_transfer_cache = td;
2772 musbotg_standard_done(struct usb_xfer *xfer)
2776 DPRINTFN(12, "xfer=%p endpoint=%p transfer done\n",
2777 xfer, xfer->endpoint);
2781 xfer->td_transfer_cache = xfer->td_transfer_first;
2783 if (xfer->flags_int.control_xfr) {
2785 if (xfer->flags_int.control_hdr) {
2787 err = musbotg_standard_done_sub(xfer);
2789 xfer->aframes = 1;
2791 if (xfer->td_transfer_cache == NULL) {
2795 while (xfer->aframes != xfer->nframes) {
2797 err = musbotg_standard_done_sub(xfer);
2798 xfer->aframes++;
2800 if (xfer->td_transfer_cache == NULL) {
2805 if (xfer->flags_int.control_xfr &&
2806 !xfer->flags_int.control_act) {
2808 err = musbotg_standard_done_sub(xfer);
2811 musbotg_device_done(xfer, err);
2821 musbotg_device_done(struct usb_xfer *xfer, usb_error_t error)
2826 USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED);
2828 DPRINTFN(1, "xfer=%p, endpoint=%p, error=%d\n",
2829 xfer, xfer->endpoint, error);
2833 sc = MUSBOTG_BUS2SC(xfer->xroot->bus);
2834 td = xfer->td_transfer_cache;
2840 usbd_transfer_done(xfer, error);
2844 musbotg_xfer_stall(struct usb_xfer *xfer)
2846 musbotg_device_done(xfer, USB_ERR_STALLED);
3327 musbotg_device_bulk_open(struct usb_xfer *xfer)
3333 musbotg_device_bulk_close(struct usb_xfer *xfer)
3335 musbotg_device_done(xfer, USB_ERR_CANCELLED);
3339 musbotg_device_bulk_enter(struct usb_xfer *xfer)
3345 musbotg_device_bulk_start(struct usb_xfer *xfer)
3348 musbotg_setup_standard_chain(xfer);
3349 musbotg_start_standard_chain(xfer);
3364 musbotg_device_ctrl_open(struct usb_xfer *xfer)
3370 musbotg_device_ctrl_close(struct usb_xfer *xfer)
3372 musbotg_device_done(xfer, USB_ERR_CANCELLED);
3376 musbotg_device_ctrl_enter(struct usb_xfer *xfer)
3382 musbotg_device_ctrl_start(struct usb_xfer *xfer)
3385 musbotg_setup_standard_chain(xfer);
3386 musbotg_start_standard_chain(xfer);
3401 musbotg_device_intr_open(struct usb_xfer *xfer)
3407 musbotg_device_intr_close(struct usb_xfer *xfer)
3409 musbotg_device_done(xfer, USB_ERR_CANCELLED);
3413 musbotg_device_intr_enter(struct usb_xfer *xfer)
3419 musbotg_device_intr_start(struct usb_xfer *xfer)
3422 musbotg_setup_standard_chain(xfer);
3423 musbotg_start_standard_chain(xfer);
3438 musbotg_device_isoc_open(struct usb_xfer *xfer)
3444 musbotg_device_isoc_close(struct usb_xfer *xfer)
3446 musbotg_device_done(xfer, USB_ERR_CANCELLED);
3450 musbotg_device_isoc_enter(struct usb_xfer *xfer)
3452 struct musbotg_softc *sc = MUSBOTG_BUS2SC(xfer->xroot->bus);
3457 DPRINTFN(5, "xfer=%p next=%d nframes=%d\n",
3458 xfer, xfer->endpoint->isoc_next, xfer->nframes);
3468 temp = (nframes - xfer->endpoint->isoc_next) & MUSB2_MASK_FRAME;
3470 if (usbd_get_speed(xfer->xroot->udev) == USB_SPEED_HIGH) {
3471 fs_frames = (xfer->nframes + 7) / 8;
3473 fs_frames = xfer->nframes;
3476 if ((xfer->endpoint->is_synced == 0) ||
3484 xfer->endpoint->isoc_next = (nframes + 3) & MUSB2_MASK_FRAME;
3485 xfer->endpoint->is_synced = 1;
3486 DPRINTFN(2, "start next=%d\n", xfer->endpoint->isoc_next);
3492 temp = (xfer->endpoint->isoc_next - nframes) & MUSB2_MASK_FRAME;
3497 xfer->isoc_time_complete =
3502 xfer->endpoint->isoc_next += fs_frames;
3505 musbotg_setup_standard_chain(xfer);
3509 musbotg_device_isoc_start(struct usb_xfer *xfer)
3512 musbotg_start_standard_chain(xfer);
4070 struct usb_xfer *xfer;
4077 xfer = parm->curr_xfer;
4100 ntd = xfer->nframes + 1 /* STATUS */ + 1 /* SYNC */ ;
4104 ntd = xfer->nframes + 1 /* SYNC */ ;
4108 ntd = xfer->nframes + 1 /* SYNC */ ;
4112 ntd = xfer->nframes + 1 /* SYNC */ ;
4130 ep_no = xfer->endpointno & UE_ADDR;
4135 if (xfer->flags_int.usb_mode == USB_MODE_DEVICE) {
4159 td->max_frame_size = xfer->max_frame_size;
4160 td->reg_max_packet = xfer->max_packet_size |
4161 ((xfer->max_packet_count - 1) << 11);
4170 xfer->td_start[0] = last_obj;
4174 musbotg_xfer_unsetup(struct usb_xfer *xfer)