Lines Matching refs:xfer

88 usb_handle_request_callback(struct usb_xfer *xfer, usb_error_t error)
94 switch (USB_GET_STATE(xfer)) {
99 err = usb_handle_request(xfer);
105 usb_needs_explore(xfer->xroot->bus, 0);
110 usbd_transfer_submit(xfer);
115 if (xfer->flags_int.control_rem != 0xFFFF) {
117 err = usb_handle_request(xfer);
119 if (xfer->error != USB_ERR_CANCELLED) {
132 usbd_xfer_set_frame_len(xfer, 0, sizeof(struct usb_device_request));
133 xfer->nframes = 1;
134 xfer->flags.manual_status = 1;
135 xfer->flags.force_short_xfer = 0;
136 usbd_xfer_set_stall(xfer); /* cancel previous transfer, if any */
137 usbd_transfer_submit(xfer);
148 usb_handle_set_config(struct usb_xfer *xfer, uint8_t conf_no)
150 struct usb_device *udev = xfer->xroot->udev;
158 USB_XFER_UNLOCK(xfer);
186 USB_XFER_LOCK(xfer);
217 usb_handle_iface_request(struct usb_xfer *xfer,
223 struct usb_device *udev = xfer->xroot->udev;
239 USB_XFER_UNLOCK(xfer);
360 USB_XFER_LOCK(xfer);
366 USB_XFER_LOCK(xfer);
372 USB_XFER_LOCK(xfer);
384 usb_handle_set_stall(struct usb_xfer *xfer, uint8_t ep, uint8_t do_stall)
386 struct usb_device *udev = xfer->xroot->udev;
389 USB_XFER_UNLOCK(xfer);
392 USB_XFER_LOCK(xfer);
429 usb_handle_remote_wakeup(struct usb_xfer *xfer, uint8_t is_on)
434 udev = xfer->xroot->udev;
466 usb_handle_request(struct usb_xfer *xfer)
489 switch (USB_GET_STATE(xfer)) {
493 if (!xfer->flags_int.control_act) {
499 if (!xfer->flags_int.control_act) {
512 usbd_xfer_set_frame_len(xfer, 0, 0);
514 usbd_xfer_set_frame_offset(xfer, 0, 0);
515 usbd_xfer_set_frame_offset(xfer, sizeof(req), 1);
519 usbd_copy_out(xfer->frbuffers, 0, &req, sizeof(req));
521 if (xfer->flags_int.control_rem == 0xFFFF) {
527 rem = xfer->flags_int.control_rem;
536 udev = xfer->xroot->udev;
625 err = usb_handle_iface_request(xfer,
699 if (usb_handle_set_config(xfer, req.wValue[0])) {
707 if (usb_handle_set_stall(xfer, req.wIndex[0], 0)) {
715 if (usb_handle_remote_wakeup(xfer, 0)) {
723 if (usb_handle_set_stall(xfer, req.wIndex[0], 1)) {
731 if (usb_handle_remote_wakeup(xfer, 1)) {
757 if (max_len > xfer->max_data_length) {
758 max_len = usbd_xfer_max_len(xfer);
768 if (rem > xfer->max_data_length) {
769 rem = usbd_xfer_max_len(xfer);
776 xfer->flags.force_short_xfer = 1;
777 xfer->nframes = 2;
782 xfer->flags.force_short_xfer = 0;
783 xfer->nframes = max_len ? 2 : 1;
788 usbd_copy_in(xfer->frbuffers + 1, 0,
790 usbd_xfer_set_frame_len(xfer, 1, max_len);
792 usbd_xfer_set_frame_data(xfer, 1,
797 xfer->flags.manual_status = 0;
798 usbd_xfer_set_frame_len(xfer, 1, 0);