Lines Matching refs:ctrl
49 trb->ctrl = type;
51 trb->ctrl |= (DWC3_TRB_CTRL_HWO
55 trb->ctrl |= DWC3_TRB_CTRL_CHN;
57 trb->ctrl |= (DWC3_TRB_CTRL_IOC
314 struct usb_ctrlrequest *ctrl)
324 value = le16_to_cpu(ctrl->wValue);
328 recip = ctrl->bRequestType & USB_RECIP_MASK;
355 dep = dwc3_wIndex_to_dep(dwc, ctrl->wIndex);
450 struct usb_ctrlrequest *ctrl, int set)
457 wValue = le16_to_cpu(ctrl->wValue);
458 wIndex = le16_to_cpu(ctrl->wIndex);
488 struct usb_ctrlrequest *ctrl, int set)
493 wValue = le16_to_cpu(ctrl->wValue);
513 struct usb_ctrlrequest *ctrl, int set)
519 wValue = le16_to_cpu(ctrl->wValue);
523 dep = dwc3_wIndex_to_dep(dwc, ctrl->wIndex);
547 struct usb_ctrlrequest *ctrl, int set)
552 recip = ctrl->bRequestType & USB_RECIP_MASK;
556 ret = dwc3_ep0_handle_device(dwc, ctrl, set);
559 ret = dwc3_ep0_handle_intf(dwc, ctrl, set);
562 ret = dwc3_ep0_handle_endpoint(dwc, ctrl, set);
571 static int dwc3_ep0_set_address(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
577 addr = le16_to_cpu(ctrl->wValue);
601 static int dwc3_ep0_delegate_req(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
606 ret = dwc->gadget_driver->setup(dwc->gadget, ctrl);
611 static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
618 cfg = le16_to_cpu(ctrl->wValue);
625 ret = dwc3_ep0_delegate_req(dwc, ctrl);
653 ret = dwc3_ep0_delegate_req(dwc, ctrl);
708 static int dwc3_ep0_set_sel(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
717 wLength = le16_to_cpu(ctrl->wLength);
742 static int dwc3_ep0_set_isoch_delay(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
748 wValue = le16_to_cpu(ctrl->wValue);
749 wLength = le16_to_cpu(ctrl->wLength);
750 wIndex = le16_to_cpu(ctrl->wIndex);
760 static int dwc3_ep0_std_request(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
764 switch (ctrl->bRequest) {
766 ret = dwc3_ep0_handle_status(dwc, ctrl);
769 ret = dwc3_ep0_handle_feature(dwc, ctrl, 0);
772 ret = dwc3_ep0_handle_feature(dwc, ctrl, 1);
775 ret = dwc3_ep0_set_address(dwc, ctrl);
778 ret = dwc3_ep0_set_config(dwc, ctrl);
781 ret = dwc3_ep0_set_sel(dwc, ctrl);
784 ret = dwc3_ep0_set_isoch_delay(dwc, ctrl);
787 ret = dwc3_ep0_delegate_req(dwc, ctrl);
797 struct usb_ctrlrequest *ctrl = (void *) dwc->ep0_trb;
804 trace_dwc3_ctrl_req(ctrl);
806 len = le16_to_cpu(ctrl->wLength);
813 dwc->ep0_expect_in = !!(ctrl->bRequestType & USB_DIR_IN);
817 if ((ctrl->bRequestType & USB_TYPE_MASK) == USB_TYPE_STANDARD)
818 ret = dwc3_ep0_std_request(dwc, ctrl);
820 ret = dwc3_ep0_delegate_req(dwc, ctrl);
871 trb->ctrl &= ~DWC3_TRB_CTRL_HWO;