Lines Matching refs:req

333 	struct net2272_request *req;  in net2272_alloc_request()  local
339 req = kzalloc(sizeof(*req), gfp_flags); in net2272_alloc_request()
340 if (!req) in net2272_alloc_request()
343 INIT_LIST_HEAD(&req->queue); in net2272_alloc_request()
345 return &req->req; in net2272_alloc_request()
352 struct net2272_request *req; in net2272_free_request() local
358 req = container_of(_req, struct net2272_request, req); in net2272_free_request()
359 WARN_ON(!list_empty(&req->queue)); in net2272_free_request()
360 kfree(req); in net2272_free_request()
364 net2272_done(struct net2272_ep *ep, struct net2272_request *req, int status) in net2272_done() argument
377 list_del_init(&req->queue); in net2272_done()
379 if (req->req.status == -EINPROGRESS) in net2272_done()
380 req->req.status = status; in net2272_done()
382 status = req->req.status; in net2272_done()
386 usb_gadget_unmap_request(&dev->gadget, &req->req, in net2272_done()
391 ep->ep.name, &req->req, status, in net2272_done()
392 req->req.actual, req->req.length, req->req.buf); in net2272_done()
397 usb_gadget_giveback_request(&ep->ep, &req->req); in net2272_done()
404 struct net2272_request *req, unsigned max) in net2272_write_packet() argument
411 length = min(req->req.length - req->req.actual, max); in net2272_write_packet()
412 req->req.actual += length; in net2272_write_packet()
415 ep->ep.name, req, max, length, in net2272_write_packet()
440 net2272_write_fifo(struct net2272_ep *ep, struct net2272_request *req) in net2272_write_fifo() argument
447 ep->ep.name, req->req.actual, req->req.length); in net2272_write_fifo()
461 buf = req->req.buf + req->req.actual; in net2272_write_fifo()
474 count = net2272_write_packet(ep, buf, req, max); in net2272_write_fifo()
476 if (req->req.length == req->req.actual) { in net2272_write_fifo()
480 net2272_done(ep, req, 0); in net2272_write_fifo()
483 req = list_entry(ep->queue.next, in net2272_write_fifo()
486 status = net2272_kick_dma(ep, req); in net2272_write_fifo()
512 struct net2272_request *req, unsigned avail) in net2272_read_packet() argument
518 req->req.actual += avail; in net2272_read_packet()
521 ep->ep.name, req, avail, in net2272_read_packet()
553 net2272_read_fifo(struct net2272_ep *ep, struct net2272_request *req) in net2272_read_fifo() argument
563 ep->ep.name, req->req.actual, req->req.length); in net2272_read_fifo()
567 buf = req->req.buf + req->req.actual; in net2272_read_fifo()
577 tmp = req->req.length - req->req.actual; in net2272_read_fifo()
589 is_short = net2272_read_packet(ep, buf, req, count); in net2272_read_fifo()
593 ((req->req.actual == req->req.length) in net2272_read_fifo()
594 && !req->req.zero))) { in net2272_read_fifo()
598 net2272_done(ep, req, -EOVERFLOW); in net2272_read_fifo()
600 net2272_done(ep, req, 0); in net2272_read_fifo()
613 req = list_entry(ep->queue.next, in net2272_read_fifo()
615 status = net2272_kick_dma(ep, req); in net2272_read_fifo()
630 struct net2272_request *req; in net2272_pio_advance() local
635 req = list_entry(ep->queue.next, struct net2272_request, queue); in net2272_pio_advance()
636 (ep->is_in ? net2272_write_fifo : net2272_read_fifo)(ep, req); in net2272_pio_advance()
720 net2272_kick_dma(struct net2272_ep *ep, struct net2272_request *req) in net2272_kick_dma() argument
731 if (req->req.length & 1) in net2272_kick_dma()
735 ep->ep.name, req, (unsigned long long) req->req.dma); in net2272_kick_dma()
746 size = req->req.length; in net2272_kick_dma()
752 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 0)) in net2272_kick_dma()
755 req->req.actual += size; in net2272_kick_dma()
762 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 1)) in net2272_kick_dma()
828 struct net2272_request *req; in net2272_queue() local
835 req = container_of(_req, struct net2272_request, req); in net2272_queue()
837 || !list_empty(&req->queue)) in net2272_queue()
867 net2272_done(ep, req, 0); in net2272_queue()
883 status = net2272_read_fifo(ep, req); in net2272_queue()
891 status = net2272_kick_dma(ep, req); in net2272_queue()
900 status = net2272_write_fifo(ep, req); in net2272_queue()
904 status = net2272_read_fifo(ep, req); in net2272_queue()
910 req = NULL; in net2272_queue()
914 if (likely(req)) in net2272_queue()
915 list_add_tail(&req->queue, &ep->queue); in net2272_queue()
929 struct net2272_request *req; in net2272_dequeue_all() local
935 req = list_entry(ep->queue.next, in net2272_dequeue_all()
938 net2272_done(ep, req, -ESHUTDOWN); in net2272_dequeue_all()
947 struct net2272_request *req; in net2272_dequeue() local
960 list_for_each_entry(req, &ep->queue, queue) { in net2272_dequeue()
961 if (&req->req == _req) in net2272_dequeue()
964 if (&req->req != _req) { in net2272_dequeue()
970 if (ep->queue.next == &req->queue) { in net2272_dequeue()
972 net2272_done(ep, req, -ECONNRESET); in net2272_dequeue()
974 req = NULL; in net2272_dequeue()
1520 struct net2272_request *req; in net2272_handle_dma() local
1525 req = list_entry(ep->queue.next, in net2272_handle_dma()
1528 req = NULL; in net2272_handle_dma()
1530 dev_vdbg(ep->dev->dev, "handle_dma %s req %p\n", ep->ep.name, req); in net2272_handle_dma()
1552 if ((req->req.length % ep->ep.maxpacket != 0) || in net2272_handle_dma()
1553 req->req.zero) in net2272_handle_dma()
1556 net2272_done(ep, req, 0); in net2272_handle_dma()
1558 req = list_entry(ep->queue.next, in net2272_handle_dma()
1560 status = net2272_kick_dma(ep, req); in net2272_handle_dma()
1586 req->req.actual += len; in net2272_handle_dma()
1598 struct net2272_request *req; in net2272_handle_ep() local
1602 req = list_entry(ep->queue.next, in net2272_handle_ep()
1605 req = NULL; in net2272_handle_ep()
1613 ep->ep.name, stat0, stat1, req ? &req->req : NULL); in net2272_handle_ep()
1728 struct net2272_request *req; in net2272_handle_stat0_irqs() local
1745 req = list_entry(ep->queue.next, in net2272_handle_stat0_irqs()
1747 net2272_done(ep, req, in net2272_handle_stat0_irqs()
1748 (req->req.actual == req->req.length) ? 0 : -EPROTO); in net2272_handle_stat0_irqs()