Lines Matching refs:ep

88 	struct usb_ep			ep;  member
103 return container_of(_ep, struct dummy_ep, ep); in usb_ep_to_dummy_ep()
190 struct dummy_ep ep[DUMMY_ENDPOINTS]; member
227 static inline struct dummy *ep_to_dummy(struct dummy_ep *ep) in ep_to_dummy() argument
229 return container_of(ep->gadget, struct dummy, gadget); in ep_to_dummy()
251 static void nuke(struct dummy *dum, struct dummy_ep *ep) in nuke() argument
253 while (!list_empty(&ep->queue)) { in nuke()
256 req = list_entry(ep->queue.next, struct dummy_request, queue); in nuke()
261 usb_gadget_giveback_request(&ep->ep, &req->req); in nuke()
269 struct dummy_ep *ep; in stop_activity() local
277 list_for_each_entry(ep, &dum->gadget.ep_list, ep.ep_list) in stop_activity()
278 nuke(dum, ep); in stop_activity()
421 struct dummy_ep *ep; in dummy_enable() local
425 ep = usb_ep_to_dummy_ep(_ep); in dummy_enable()
426 if (!_ep || !desc || ep->desc || _ep->name == ep0name in dummy_enable()
429 dum = ep_to_dummy(ep); in dummy_enable()
455 if (strstr(ep->ep.name, "-iso") in dummy_enable()
456 || strstr(ep->ep.name, "-int")) { in dummy_enable()
478 if (strstr(ep->ep.name, "-iso")) /* bulk is ok */ in dummy_enable()
498 if (strstr(ep->ep.name, "-bulk") in dummy_enable()
499 || strstr(ep->ep.name, "-int")) in dummy_enable()
528 ep->stream_en = 1; in dummy_enable()
530 ep->desc = desc; in dummy_enable()
551 max, ep->stream_en ? "enabled" : "disabled"); in dummy_enable()
556 ep->halted = ep->wedged = 0; in dummy_enable()
564 struct dummy_ep *ep; in dummy_disable() local
568 ep = usb_ep_to_dummy_ep(_ep); in dummy_disable()
569 if (!_ep || !ep->desc || _ep->name == ep0name) in dummy_disable()
571 dum = ep_to_dummy(ep); in dummy_disable()
574 ep->desc = NULL; in dummy_disable()
575 ep->stream_en = 0; in dummy_disable()
576 nuke(dum, ep); in dummy_disable()
586 struct dummy_ep *ep; in dummy_alloc_request() local
591 ep = usb_ep_to_dummy_ep(_ep); in dummy_alloc_request()
614 static void fifo_complete(struct usb_ep *ep, struct usb_request *req) in fifo_complete() argument
621 struct dummy_ep *ep; in dummy_queue() local
631 ep = usb_ep_to_dummy_ep(_ep); in dummy_queue()
632 if (!_ep || (!ep->desc && _ep->name != ep0name)) in dummy_queue()
635 dum = ep_to_dummy(ep); in dummy_queue()
642 ep, _req, _ep->name, _req->length, _req->buf); in dummy_queue()
649 if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) && in dummy_queue()
651 list_empty(&ep->queue) && in dummy_queue()
660 list_add_tail(&req->queue, &ep->queue); in dummy_queue()
667 list_add_tail(&req->queue, &ep->queue); in dummy_queue()
678 struct dummy_ep *ep; in dummy_dequeue() local
686 ep = usb_ep_to_dummy_ep(_ep); in dummy_dequeue()
687 dum = ep_to_dummy(ep); in dummy_dequeue()
694 list_for_each_entry(req, &ep->queue, queue) { in dummy_dequeue()
717 struct dummy_ep *ep; in dummy_set_halt_and_wedge() local
722 ep = usb_ep_to_dummy_ep(_ep); in dummy_set_halt_and_wedge()
723 dum = ep_to_dummy(ep); in dummy_set_halt_and_wedge()
727 ep->halted = ep->wedged = 0; in dummy_set_halt_and_wedge()
728 else if (ep->desc && (ep->desc->bEndpointAddress & USB_DIR_IN) && in dummy_set_halt_and_wedge()
729 !list_empty(&ep->queue)) in dummy_set_halt_and_wedge()
732 ep->halted = 1; in dummy_set_halt_and_wedge()
734 ep->wedged = 1; in dummy_set_halt_and_wedge()
817 dum->ep[0].ep.maxpacket = 9; in dummy_udc_update_ep0()
819 dum->ep[0].ep.maxpacket = 64; in dummy_udc_update_ep0()
939 struct dummy_ep *ep = &dum->ep[i]; in init_dummy_udc_hw() local
943 ep->ep.name = ep_name[i]; in init_dummy_udc_hw()
944 ep->ep.ops = &dummy_ep_ops; in init_dummy_udc_hw()
945 list_add_tail(&ep->ep.ep_list, &dum->gadget.ep_list); in init_dummy_udc_hw()
946 ep->halted = ep->wedged = ep->already_seen = in init_dummy_udc_hw()
947 ep->setup_stage = 0; in init_dummy_udc_hw()
948 usb_ep_set_maxpacket_limit(&ep->ep, ~0); in init_dummy_udc_hw()
949 ep->ep.max_streams = 16; in init_dummy_udc_hw()
950 ep->last_io = jiffies; in init_dummy_udc_hw()
951 ep->gadget = &dum->gadget; in init_dummy_udc_hw()
952 ep->desc = NULL; in init_dummy_udc_hw()
953 INIT_LIST_HEAD(&ep->queue); in init_dummy_udc_hw()
956 dum->gadget.ep0 = &dum->ep[0].ep; in init_dummy_udc_hw()
957 list_del_init(&dum->ep[0].ep.ep_list); in init_dummy_udc_hw()
1070 const struct usb_endpoint_descriptor *desc = &urb->ep->desc; in dummy_ep_stream_en()
1282 struct dummy_ep *ep, int limit, int *status) in transfer() argument
1289 list_for_each_entry(req, &ep->queue, queue) { in transfer()
1317 if (limit < ep->ep.maxpacket && limit < len) in transfer()
1324 if (len > ep->ep.maxpacket) { in transfer()
1326 len -= (len % ep->ep.maxpacket); in transfer()
1328 is_short = (len % ep->ep.maxpacket) != 0; in transfer()
1332 ep->last_io = jiffies; in transfer()
1383 usb_gadget_giveback_request(&ep->ep, &req->req); in transfer()
1401 static int periodic_bytes(struct dummy *dum, struct dummy_ep *ep) in periodic_bytes() argument
1403 int limit = ep->ep.maxpacket; in periodic_bytes()
1409 tmp = usb_endpoint_maxp(ep->desc); in periodic_bytes()
1415 switch (usb_endpoint_type(ep->desc)) { in periodic_bytes()
1445 return &dum->ep[0]; in find_endpoint()
1447 struct dummy_ep *ep = &dum->ep[i]; in find_endpoint() local
1449 if (!ep->desc) in find_endpoint()
1451 if (ep->desc->bEndpointAddress == address) in find_endpoint()
1452 return ep; in find_endpoint()
1547 if (!ep2 || ep2->ep.name == ep0name) { in handle_control_request()
1689 dum->ep[i].already_seen = 0; in dummy_timer()
1697 struct dummy_ep *ep = NULL; in dummy_timer() local
1719 ep = find_endpoint(dum, address); in dummy_timer()
1720 if (!ep) { in dummy_timer()
1729 if (ep->already_seen) in dummy_timer()
1731 ep->already_seen = 1; in dummy_timer()
1732 if (ep == &dum->ep[0] && urb->error_count) { in dummy_timer()
1733 ep->setup_stage = 1; /* a new urb */ in dummy_timer()
1736 if (ep->halted && !ep->setup_stage) { in dummy_timer()
1739 ep->ep.name, urb); in dummy_timer()
1746 if (ep == &dum->ep[0] && ep->setup_stage) { in dummy_timer()
1752 list_for_each_entry(req, &ep->queue, queue) { in dummy_timer()
1759 usb_gadget_giveback_request(&ep->ep, &req->req); in dummy_timer()
1761 ep->already_seen = 0; in dummy_timer()
1769 ep->last_io = jiffies; in dummy_timer()
1770 ep->setup_stage = 0; in dummy_timer()
1771 ep->halted = 0; in dummy_timer()
1814 limit = max(limit, periodic_bytes(dum, ep)); in dummy_timer()
1822 limit = max(limit, periodic_bytes(dum, ep)); in dummy_timer()
1827 ep->last_io = jiffies; in dummy_timer()
1828 total = transfer(dum_hcd, urb, ep, limit, &status); in dummy_timer()
1839 if (ep) in dummy_timer()
1840 ep->already_seen = ep->setup_stage = 0; in dummy_timer()
2249 int ep = usb_pipeendpoint(urb->pipe); in show_urb() local
2272 ep, ep ? (usb_pipein(urb->pipe) ? "in" : "out") : "", in show_urb()