• Home
  • Raw
  • Download

Lines Matching refs:req

43 	struct usb_request req;  member
208 static int fotg210_dma(struct fotg210_ep *ep, struct fotg210_request *req) in fotg210_dma() argument
213 uint8_t *buf = req->req.buf + req->req.actual; in fotg210_dma()
214 uint32_t len = req->req.length - req->req.actual; in fotg210_dma()
231 req->req.status = ret; in fotg210_dma()
302 req->req.status = ret; in fotg210_dma()
304 req->req.actual += len; in fotg210_dma()
322 struct usb_ctrlrequest *req = (struct usb_ctrlrequest *)tmp; in fotg210_setup() local
357 if (req->bRequestType & USB_DIR_IN) in fotg210_setup()
364 if ((req->bRequestType & USB_TYPE_MASK) == USB_TYPE_STANDARD) { in fotg210_setup()
365 switch (req->bRequest) { in fotg210_setup()
367 debug("fotg210: set_cfg(%d)\n", req->wValue & 0x00FF); in fotg210_setup()
368 if (!(req->wValue & 0x00FF)) { in fotg210_setup()
380 debug("fotg210: set_addr(0x%04X)\n", req->wValue); in fotg210_setup()
382 chip->addr = req->wValue & DEVADDR_ADDR_MASK; in fotg210_setup()
389 req->bRequestType & 0x03, req->wValue); in fotg210_setup()
390 switch (req->wValue) { in fotg210_setup()
392 ep_reset(chip, req->wIndex); in fotg210_setup()
405 req->wValue, req->wIndex & 0xf); in fotg210_setup()
406 switch (req->wValue) { in fotg210_setup()
408 id = req->wIndex & 0xf; in fotg210_setup()
439 if (chip->driver->setup(&chip->gadget, req) < 0) in fotg210_setup()
470 struct fotg210_request *req; in fotg210_recv() local
483 req = list_first_entry(&ep->queue, struct fotg210_request, queue); in fotg210_recv()
484 len = fotg210_dma(ep, req); in fotg210_recv()
485 if (len < ep->ep.maxpacket || req->req.length <= req->req.actual) { in fotg210_recv()
486 list_del_init(&req->queue); in fotg210_recv()
487 if (req->req.complete) in fotg210_recv()
488 req->req.complete(&ep->ep, &req->req); in fotg210_recv()
564 struct fotg210_request *req = malloc(sizeof(*req)); in fotg210_ep_alloc_request() local
566 if (req) { in fotg210_ep_alloc_request()
567 memset(req, 0, sizeof(*req)); in fotg210_ep_alloc_request()
568 INIT_LIST_HEAD(&req->queue); in fotg210_ep_alloc_request()
570 return &req->req; in fotg210_ep_alloc_request()
576 struct fotg210_request *req; in fotg210_ep_free_request() local
578 req = container_of(_req, struct fotg210_request, req); in fotg210_ep_free_request()
579 free(req); in fotg210_ep_free_request()
588 struct fotg210_request *req; in fotg210_ep_queue() local
590 req = container_of(_req, struct fotg210_request, req); in fotg210_ep_queue()
592 || !list_empty(&req->queue)) { in fotg210_ep_queue()
602 req->req.actual = 0; in fotg210_ep_queue()
603 req->req.status = -EINPROGRESS; in fotg210_ep_queue()
605 if (req->req.length == 0) { in fotg210_ep_queue()
606 req->req.status = 0; in fotg210_ep_queue()
607 if (req->req.complete) in fotg210_ep_queue()
608 req->req.complete(&ep->ep, &req->req); in fotg210_ep_queue()
614 int len = fotg210_dma(ep, req); in fotg210_ep_queue()
619 } while (req->req.length > req->req.actual); in fotg210_ep_queue()
623 int len = fotg210_dma(ep, req); in fotg210_ep_queue()
626 } while (req->req.length > req->req.actual); in fotg210_ep_queue()
628 list_add_tail(&req->queue, &ep->queue); in fotg210_ep_queue()
635 if (req->req.complete) in fotg210_ep_queue()
636 req->req.complete(&ep->ep, &req->req); in fotg210_ep_queue()
645 struct fotg210_request *req; in fotg210_ep_dequeue() local
648 list_for_each_entry(req, &ep->queue, queue) { in fotg210_ep_dequeue()
649 if (&req->req == _req) in fotg210_ep_dequeue()
652 if (&req->req != _req) in fotg210_ep_dequeue()
656 list_del_init(&req->queue); in fotg210_ep_dequeue()
659 if (req->req.status == -EINPROGRESS) { in fotg210_ep_dequeue()
660 req->req.status = -ECONNRESET; in fotg210_ep_dequeue()
661 if (req->req.complete) in fotg210_ep_dequeue()
662 req->req.complete(_ep, &req->req); in fotg210_ep_dequeue()