Lines Matching refs:req
61 static void fotg210_done(struct fotg210_ep *ep, struct fotg210_request *req, in fotg210_done() argument
64 list_del_init(&req->queue); in fotg210_done()
68 req->req.status = -ESHUTDOWN; in fotg210_done()
70 req->req.status = status; in fotg210_done()
73 usb_gadget_giveback_request(&ep->ep, &req->req); in fotg210_done()
215 struct fotg210_request *req; in fotg210_ep_disable() local
223 req = list_entry(ep->queue.next, in fotg210_ep_disable()
226 fotg210_done(ep, req, -ECONNRESET); in fotg210_ep_disable()
236 struct fotg210_request *req; in fotg210_ep_alloc_request() local
238 req = kzalloc(sizeof(struct fotg210_request), gfp_flags); in fotg210_ep_alloc_request()
239 if (!req) in fotg210_ep_alloc_request()
242 INIT_LIST_HEAD(&req->queue); in fotg210_ep_alloc_request()
244 return &req->req; in fotg210_ep_alloc_request()
250 struct fotg210_request *req; in fotg210_ep_free_request() local
252 req = container_of(_req, struct fotg210_request, req); in fotg210_ep_free_request()
253 kfree(req); in fotg210_ep_free_request()
330 struct fotg210_request *req) in fotg210_start_dma() argument
338 buffer = req->req.buf; in fotg210_start_dma()
339 length = req->req.length; in fotg210_start_dma()
341 buffer = req->req.buf + req->req.actual; in fotg210_start_dma()
347 buffer = req->req.buf + req->req.actual; in fotg210_start_dma()
348 if (req->req.length - req->req.actual > ep->ep.maxpacket) in fotg210_start_dma()
351 length = req->req.length; in fotg210_start_dma()
374 req->req.actual += length; in fotg210_start_dma()
380 struct fotg210_request *req) in fotg210_ep0_queue() argument
382 if (!req->req.length) { in fotg210_ep0_queue()
383 fotg210_done(ep, req, 0); in fotg210_ep0_queue()
387 if (req->req.length) { in fotg210_ep0_queue()
388 fotg210_start_dma(ep, req); in fotg210_ep0_queue()
391 __func__, req->req.length); in fotg210_ep0_queue()
393 if ((req->req.length == req->req.actual) || in fotg210_ep0_queue()
394 (req->req.actual < ep->ep.maxpacket)) in fotg210_ep0_queue()
395 fotg210_done(ep, req, 0); in fotg210_ep0_queue()
397 if (!req->req.length) { in fotg210_ep0_queue()
398 fotg210_done(ep, req, 0); in fotg210_ep0_queue()
413 struct fotg210_request *req; in fotg210_ep_queue() local
418 req = container_of(_req, struct fotg210_request, req); in fotg210_ep_queue()
428 list_add_tail(&req->queue, &ep->queue); in fotg210_ep_queue()
430 req->req.actual = 0; in fotg210_ep_queue()
431 req->req.status = -EINPROGRESS; in fotg210_ep_queue()
434 fotg210_ep0_queue(ep, req); in fotg210_ep_queue()
446 struct fotg210_request *req; in fotg210_ep_dequeue() local
450 req = container_of(_req, struct fotg210_request, req); in fotg210_ep_dequeue()
454 fotg210_done(ep, req, -ECONNRESET); in fotg210_ep_dequeue()
812 struct fotg210_request *req; in fotg210_ep0out() local
814 req = list_first_entry(&ep->queue, in fotg210_ep0out()
817 if (req->req.length) in fotg210_ep0out()
818 fotg210_start_dma(ep, req); in fotg210_ep0out()
820 if ((req->req.length - req->req.actual) < ep->ep.maxpacket) in fotg210_ep0out()
821 fotg210_done(ep, req, 0); in fotg210_ep0out()
832 struct fotg210_request *req; in fotg210_ep0in() local
834 req = list_entry(ep->queue.next, in fotg210_ep0in()
837 if (req->req.length) in fotg210_ep0in()
838 fotg210_start_dma(ep, req); in fotg210_ep0in()
840 if ((req->req.length - req->req.actual) < ep->ep.maxpacket) in fotg210_ep0in()
841 fotg210_done(ep, req, 0); in fotg210_ep0in()
857 struct fotg210_request *req = list_entry(ep->queue.next, in fotg210_in_fifo_handler() local
860 if (req->req.length) in fotg210_in_fifo_handler()
861 fotg210_start_dma(ep, req); in fotg210_in_fifo_handler()
862 fotg210_done(ep, req, 0); in fotg210_in_fifo_handler()
867 struct fotg210_request *req = list_entry(ep->queue.next, in fotg210_out_fifo_handler() local
870 fotg210_start_dma(ep, req); in fotg210_out_fifo_handler()
873 if (req->req.length == req->req.actual || in fotg210_out_fifo_handler()
874 req->req.actual < ep->ep.maxpacket) in fotg210_out_fifo_handler()
875 fotg210_done(ep, req, 0); in fotg210_out_fifo_handler()