• Home
  • Raw
  • Download

Lines Matching refs:ep

32 	struct usb_ep ep;  member
46 struct fotg210_ep *ep; member
57 struct fotg210_ep ep[1 + CFG_NUM_ENDPOINTS]; member
79 int ep = ep_addr & USB_ENDPOINT_NUMBER_MASK; in ep_reset() local
84 setbits_le32(&regs->iep[ep - 1], IEP_RESET); in ep_reset()
86 clrbits_le32(&regs->iep[ep - 1], IEP_RESET); in ep_reset()
88 clrbits_le32(&regs->iep[ep - 1], IEP_STALL); in ep_reset()
91 setbits_le32(&regs->oep[ep - 1], OEP_RESET); in ep_reset()
93 clrbits_le32(&regs->oep[ep - 1], OEP_RESET); in ep_reset()
95 clrbits_le32(&regs->oep[ep - 1], OEP_STALL); in ep_reset()
209 static int fotg210_dma(struct fotg210_ep *ep, struct fotg210_request *req) in fotg210_dma() argument
211 struct fotg210_chip *chip = ep->chip; in fotg210_dma()
216 int fifo = ep_to_fifo(chip, ep->id); in fotg210_dma()
220 if (len > ep->maxpacket) in fotg210_dma()
221 len = ep->maxpacket; in fotg210_dma()
237 if (ep->desc->bEndpointAddress & USB_DIR_IN) in fotg210_dma()
244 if (ep->desc->bEndpointAddress & USB_DIR_IN) { in fotg210_dma()
245 if (ep->id == 0) { in fotg210_dma()
259 if (ep->id == 0) { in fotg210_dma()
307 printf("fotg210: ep%d dma error(code=%d)\n", ep->id, ret); in fotg210_dma()
470 struct fotg210_ep *ep = chip->ep + ep_id; in fotg210_recv() local
474 if (ep->stopped || (ep->desc->bEndpointAddress & USB_DIR_IN)) { in fotg210_recv()
475 printf("fotg210: ep%d recv, invalid!\n", ep->id); in fotg210_recv()
479 if (list_empty(&ep->queue)) { in fotg210_recv()
480 printf("fotg210: ep%d recv, drop!\n", ep->id); in fotg210_recv()
484 req = list_first_entry(&ep->queue, struct fotg210_request, queue); in fotg210_recv()
485 len = fotg210_dma(ep, req); in fotg210_recv()
486 if (len < ep->ep.maxpacket || req->req.length <= req->req.actual) { in fotg210_recv()
489 req->req.complete(&ep->ep, &req->req); in fotg210_recv()
492 if (ep->id > 0 && list_empty(&ep->queue)) { in fotg210_recv()
494 GIMR1_FIFO_RX(ep_to_fifo(chip, ep->id))); in fotg210_recv()
504 struct fotg210_ep *ep = container_of(_ep, struct fotg210_ep, ep); in fotg210_ep_enable() local
505 struct fotg210_chip *chip = ep->chip; in fotg210_ep_enable()
507 int id = ep_to_fifo(chip, ep->id); in fotg210_ep_enable()
517 ep->desc = desc; in fotg210_ep_enable()
518 ep->stopped = 0; in fotg210_ep_enable()
548 struct fotg210_ep *ep = container_of(_ep, struct fotg210_ep, ep); in fotg210_ep_disable() local
549 struct fotg210_chip *chip = ep->chip; in fotg210_ep_disable()
551 int id = ep_to_fifo(chip, ep->id); in fotg210_ep_disable()
553 ep->desc = NULL; in fotg210_ep_disable()
554 ep->stopped = 1; in fotg210_ep_disable()
586 struct fotg210_ep *ep = container_of(_ep, struct fotg210_ep, ep); in fotg210_ep_queue() local
587 struct fotg210_chip *chip = ep->chip; in fotg210_ep_queue()
594 printf("fotg210: invalid request to ep%d\n", ep->id); in fotg210_ep_queue()
609 req->req.complete(&ep->ep, &req->req); in fotg210_ep_queue()
613 if (ep->id == 0) { in fotg210_ep_queue()
615 int len = fotg210_dma(ep, req); in fotg210_ep_queue()
616 if (len < ep->ep.maxpacket) in fotg210_ep_queue()
618 if (ep->desc->bEndpointAddress & USB_DIR_IN) in fotg210_ep_queue()
622 if (ep->desc->bEndpointAddress & USB_DIR_IN) { in fotg210_ep_queue()
624 int len = fotg210_dma(ep, req); in fotg210_ep_queue()
625 if (len < ep->ep.maxpacket) in fotg210_ep_queue()
629 list_add_tail(&req->queue, &ep->queue); in fotg210_ep_queue()
631 GIMR1_FIFO_RX(ep_to_fifo(chip, ep->id))); in fotg210_ep_queue()
635 if (ep->id == 0 || (ep->desc->bEndpointAddress & USB_DIR_IN)) { in fotg210_ep_queue()
637 req->req.complete(&ep->ep, &req->req); in fotg210_ep_queue()
645 struct fotg210_ep *ep = container_of(_ep, struct fotg210_ep, ep); in fotg210_ep_dequeue() local
649 list_for_each_entry(req, &ep->queue, queue) { in fotg210_ep_dequeue()
671 struct fotg210_ep *ep = container_of(_ep, struct fotg210_ep, ep); in fotg210_ep_halt() local
672 struct fotg210_chip *chip = ep->chip; in fotg210_ep_halt()
676 debug("fotg210: ep%d halt=%d\n", ep->id, halt); in fotg210_ep_halt()
679 if (ep->id > 0 && ep->id <= CFG_NUM_ENDPOINTS) { in fotg210_ep_halt()
684 if (ep->desc->bEndpointAddress & USB_DIR_IN) { in fotg210_ep_halt()
685 setbits_le32(&regs->iep[ep->id - 1], in fotg210_ep_halt()
688 setbits_le32(&regs->oep[ep->id - 1], in fotg210_ep_halt()
692 if (ep->desc->bEndpointAddress & USB_DIR_IN) { in fotg210_ep_halt()
693 clrbits_le32(&regs->iep[ep->id - 1], in fotg210_ep_halt()
696 clrbits_le32(&regs->oep[ep->id - 1], in fotg210_ep_halt()
778 .ep0 = &controller.ep[0].ep,
787 .ep[0] = {
789 .ep = {
797 .ep[1] = {
799 .ep = {
806 .ep[2] = {
808 .ep = {
815 .ep[3] = {
817 .ep = {
824 .ep[4] = {
826 .ep = {
924 struct fotg210_ep *ep = chip->ep + i; in usb_gadget_register_driver() local
926 ep->ep.maxpacket = ep->maxpacket; in usb_gadget_register_driver()
927 INIT_LIST_HEAD(&ep->queue); in usb_gadget_register_driver()
929 if (ep->id == 0) { in usb_gadget_register_driver()
930 ep->stopped = 0; in usb_gadget_register_driver()
932 ep->stopped = 1; in usb_gadget_register_driver()
933 list_add_tail(&ep->ep.ep_list, &chip->gadget.ep_list); in usb_gadget_register_driver()