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)
545 ep->ep.name, req->req.actual, req->req.length);
549 buf = req->req.buf + req->req.actual;
559 tmp = req->req.length - req->req.actual;
571 is_short = net2272_read_packet(ep, buf, req, count);
575 req->req.actual == req->req.length)) {
579 net2272_done(ep, req, -EOVERFLOW);
581 net2272_done(ep, req, 0);
594 req = list_entry(ep->queue.next,
596 status = net2272_kick_dma(ep, req);
611 struct net2272_request *req;
616 req = list_entry(ep->queue.next, struct net2272_request, queue);
617 (ep->is_in ? net2272_write_fifo : net2272_read_fifo)(ep, req);
701 net2272_kick_dma(struct net2272_ep *ep, struct net2272_request *req)
712 if (req->req.length & 1)
715 dev_vdbg(ep->dev->dev, "kick_dma %s req %p dma %08llx\n",
716 ep->ep.name, req, (unsigned long long) req->req.dma);
727 size = req->req.length;
733 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 0))
736 req->req.actual += size;
743 if (net2272_request_dma(ep->dev, ep->num, req->req.dma, size, 1))
809 struct net2272_request *req;
816 req = container_of(_req, struct net2272_request, req);
818 || !list_empty(&req->queue))
835 dev_vdbg(dev->dev, "%s queue req %p, len %d buf %p dma %08llx %s\n",
848 net2272_done(ep, req, 0);
864 status = net2272_read_fifo(ep, req);
872 status = net2272_kick_dma(ep, req);
881 status = net2272_write_fifo(ep, req);
885 status = net2272_read_fifo(ep, req);
891 req = NULL;
895 if (likely(req))
896 list_add_tail(&req->queue, &ep->queue);
910 struct net2272_request *req;
916 req = list_entry(ep->queue.next,
919 net2272_done(ep, req, -ESHUTDOWN);
928 struct net2272_request *req;
941 list_for_each_entry(req, &ep->queue, queue) {
942 if (&req->req == _req)
945 if (&req->req != _req) {
952 if (ep->queue.next == &req->queue) {
954 net2272_done(ep, req, -ECONNRESET);
956 req = NULL;
1200 t1 & (1 << DMA_REQUEST) ? "req " : "",
1508 struct net2272_request *req;
1513 req = list_entry(ep->queue.next,
1516 req = NULL;
1518 dev_vdbg(ep->dev->dev, "handle_dma %s req %p\n", ep->ep.name, req);
1540 if ((req->req.length % ep->ep.maxpacket != 0) ||
1541 req->req.zero)
1544 net2272_done(ep, req, 0);
1546 req = list_entry(ep->queue.next,
1548 status = net2272_kick_dma(ep, req);
1574 req->req.actual += len;
1586 struct net2272_request *req;
1590 req = list_entry(ep->queue.next,
1593 req = NULL;
1600 dev_vdbg(ep->dev->dev, "%s ack ep_stat0 %02x, ep_stat1 %02x, req %p\n",
1601 ep->ep.name, stat0, stat1, req ? &req->req : NULL);
1716 struct net2272_request *req;
1733 req = list_entry(ep->queue.next,
1735 net2272_done(ep, req,
1736 (req->req.actual == req->req.length) ? 0 : -EPROTO);
1920 dev_vdbg(dev->dev, "req %02x.%02x protocol STALL; stat %d\n",