Lines Matching refs:req
318 struct net2272_request *req;
323 req = kzalloc(sizeof(*req), gfp_flags);
324 if (!req)
327 INIT_LIST_HEAD(&req->queue);
329 return &req->req;
335 struct net2272_request *req;
340 req = container_of(_req, struct net2272_request, req);
341 WARN_ON(!list_empty(&req->queue));
342 kfree(req);
346 net2272_done(struct net2272_ep *ep, struct net2272_request *req, int status)
359 list_del_init(&req->queue);
361 if (req->req.status == -EINPROGRESS)
362 req->req.status = status;
364 status = req->req.status;
368 usb_gadget_unmap_request(&dev->gadget, &req->req,
372 dev_vdbg(dev->dev, "complete %s req %p stat %d len %u/%u buf %p\n",
373 ep->ep.name, &req->req, status,
374 req->req.actual, req->req.length, req->req.buf);
379 usb_gadget_giveback_request(&ep->ep, &req->req);
386 struct net2272_request *req, unsigned max)
393 length = min(req->req.length - req->req.actual, max);
394 req->req.actual += length;
396 dev_vdbg(ep->dev->dev, "write packet %s req %p max %u len %u avail %u\n",
397 ep->ep.name, req, max, length,
422 net2272_write_fifo(struct net2272_ep *ep, struct net2272_request *req)
429 ep->ep.name, req->req.actual, req->req.length);
443 buf = req->req.buf + req->req.actual;
456 count = net2272_write_packet(ep, buf, req, max);
458 if (req->req.length == req->req.actual) {
462 net2272_done(ep, req, 0);
465 req = list_entry(ep->queue.next,
468 status = net2272_kick_dma(ep, req);
494 struct net2272_request *req, unsigned avail)
500 req->req.actual += avail;
502 dev_vdbg(ep->dev->dev, "read packet %s req %p len %u avail %u\n",
503 ep->ep.name, req, avail,
535 net2272_read_fifo(struct net2272_ep *ep, struct net2272_request *req)
544 ep->ep.name, req->req.actual, req->req.length);
548 buf = req->req.buf + req->req.actual;
558 tmp = req->req.length - req->req.actual;
570 is_short = net2272_read_packet(ep, buf, req, count);
574 req->req.actual == req->req.length)) {
578 net2272_done(ep, req, -EOVERFLOW);
580 net2272_done(ep, req, 0);
595 req = list_entry(ep->queue.next,
597 status = net2272_kick_dma(ep, req);
612 struct net2272_request *req;
617 req = list_entry(ep->queue.next, struct net2272_request, queue);
618 (ep->is_in ? net2272_write_fifo : net2272_read_fifo)(ep, req);
702 net2272_kick_dma(struct net2272_ep *ep, struct net2272_request *req)
713 if (req->req.length & 1)
716 dev_vdbg(ep->dev->dev, "kick_dma %s req %p dma %08llx\n",
717 ep->ep.name, req, (unsigned long long) req->req.dma);
728 size = req->req.length;
734 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 0))
737 req->req.actual += size;
744 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 1))
810 struct net2272_request *req;
817 req = container_of(_req, struct net2272_request, req);
819 || !list_empty(&req->queue))
836 dev_vdbg(dev->dev, "%s queue req %p, len %d buf %p dma %08llx %s\n",
849 net2272_done(ep, req, 0);
865 status = net2272_read_fifo(ep, req);
873 status = net2272_kick_dma(ep, req);
882 status = net2272_write_fifo(ep, req);
886 status = net2272_read_fifo(ep, req);
892 req = NULL;
896 if (likely(req))
897 list_add_tail(&req->queue, &ep->queue);
911 struct net2272_request *req;
917 req = list_entry(ep->queue.next,
920 net2272_done(ep, req, -ESHUTDOWN);
929 struct net2272_request *req = NULL, *iter;
943 if (&iter->req != _req)
945 req = iter;
948 if (!req) {
955 if (ep->queue.next == &req->queue) {
957 net2272_done(ep, req, -ECONNRESET);
1204 t1 & (1 << DMA_REQUEST) ? "req " : "",
1520 struct net2272_request *req;
1525 req = list_entry(ep->queue.next,
1528 req = NULL;
1530 dev_vdbg(ep->dev->dev, "handle_dma %s req %p\n", ep->ep.name, req);
1552 if ((req->req.length % ep->ep.maxpacket != 0) ||
1553 req->req.zero)
1556 net2272_done(ep, req, 0);
1558 req = list_entry(ep->queue.next,
1560 status = net2272_kick_dma(ep, req);
1586 req->req.actual += len;
1598 struct net2272_request *req;
1602 req = list_entry(ep->queue.next,
1605 req = NULL;
1612 dev_vdbg(ep->dev->dev, "%s ack ep_stat0 %02x, ep_stat1 %02x, req %p\n",
1613 ep->ep.name, stat0, stat1, req ? &req->req : NULL);
1728 struct net2272_request *req;
1745 req = list_entry(ep->queue.next,
1747 net2272_done(ep, req,
1748 (req->req.actual == req->req.length) ? 0 : -EPROTO);
1934 dev_vdbg(dev->dev, "req %02x.%02x protocol STALL; stat %d\n",