Lines Matching refs:req
35 static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req);
37 struct r8a66597_request *req);
42 struct r8a66597_request *req, int status);
569 struct r8a66597_request *req)
576 if (req->req.length == 0) {
579 transfer_complete(ep, req, 0);
582 irq_ep0_write(ep, req);
631 struct r8a66597_request *req)
663 return usb_gadget_map_request(&r8a66597->gadget, &req->req, dma->dir);
668 struct r8a66597_request *req)
673 usb_gadget_unmap_request(&r8a66597->gadget, &req->req, ep->dma->dir);
686 struct r8a66597_request *req)
688 BUG_ON(req->req.length == 0);
691 r8a66597_sudmac_write(r8a66597, req->req.dma, CH0BA);
692 r8a66597_sudmac_write(r8a66597, req->req.length, CH0BBC);
699 struct r8a66597_request *req)
708 if (req->req.length == 0) {
709 transfer_complete(ep, req, 0);
712 if (sudmac_alloc_channel(r8a66597, ep, req) < 0) {
721 irq_packet_write(ep, req);
728 sudmac_start(r8a66597, ep, req);
734 struct r8a66597_request *req)
750 DIV_ROUND_UP(req->req.length, ep->ep.maxpacket),
755 if (sudmac_alloc_channel(r8a66597, ep, req) < 0) {
762 sudmac_start(r8a66597, ep, req);
768 static void start_packet(struct r8a66597_ep *ep, struct r8a66597_request *req)
771 start_packet_write(ep, req);
773 start_packet_read(ep, req);
776 static void start_ep0(struct r8a66597_ep *ep, struct r8a66597_request *req)
784 start_ep0_write(ep, req);
787 start_packet_read(ep, req);
899 struct r8a66597_request *req, int status)
912 list_del_init(&req->queue);
914 req->req.status = -ESHUTDOWN;
916 req->req.status = status;
922 sudmac_free_channel(ep->r8a66597, ep, req);
925 usb_gadget_giveback_request(&ep->ep, &req->req);
929 req = get_request_from_ep(ep);
931 start_packet(ep, req);
935 static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req)
962 buf = req->req.buf + req->req.actual;
963 size = min(bufsize, req->req.length - req->req.actual);
966 if (req->req.buf) {
974 req->req.actual += size;
977 if ((!req->req.zero && (req->req.actual == req->req.length))
990 struct r8a66597_request *req)
1011 buf = req->req.buf + req->req.actual;
1012 size = min(bufsize, req->req.length - req->req.actual);
1015 if (req->req.buf) {
1025 req->req.actual += size;
1027 if ((!req->req.zero && (req->req.actual == req->req.length))
1039 struct r8a66597_request *req)
1052 req->req.status = -EPIPE;
1063 buf = req->req.buf + req->req.actual;
1064 req_len = req->req.length - req->req.actual;
1071 req->req.actual += size;
1074 if ((!req->req.zero && (req->req.actual == req->req.length))
1083 if (req->req.buf) {
1092 transfer_complete(ep, req, 0);
1100 struct r8a66597_request *req;
1107 req = get_request_from_ep(ep);
1108 irq_packet_read(ep, req);
1115 req = get_request_from_ep(ep);
1117 irq_packet_write(ep, req);
1119 irq_packet_read(ep, req);
1131 struct r8a66597_request *req;
1137 req = get_request_from_ep(ep);
1138 irq_ep0_write(ep, req);
1150 req = get_request_from_ep(ep);
1152 transfer_complete(ep, req, 0);
1209 struct r8a66597_request *req;
1223 req = get_request_from_ep(ep);
1228 start_packet(ep, req);
1371 struct r8a66597_request *req;
1373 req = get_request_from_ep(ep);
1374 transfer_complete(ep, req, 0);
1403 struct r8a66597_request *req;
1421 req = get_request_from_ep(ep);
1425 req->req.actual += len;
1431 if ((!req->req.zero && (req->req.actual == req->req.length))
1439 transfer_complete(ep, req, 0);
1561 struct r8a66597_request *req;
1568 req = get_request_from_ep(ep);
1570 transfer_complete(ep, req, -ECONNRESET);
1581 struct r8a66597_request *req;
1583 req = kzalloc(sizeof(struct r8a66597_request), gfp_flags);
1584 if (!req)
1587 INIT_LIST_HEAD(&req->queue);
1589 return &req->req;
1594 struct r8a66597_request *req;
1596 req = container_of(_req, struct r8a66597_request, req);
1597 kfree(req);
1604 struct r8a66597_request *req;
1609 req = container_of(_req, struct r8a66597_request, req);
1619 list_add_tail(&req->queue, &ep->queue);
1620 req->req.actual = 0;
1621 req->req.status = -EINPROGRESS;
1624 start_ep0(ep, req);
1627 start_packet(ep, req);
1638 struct r8a66597_request *req;
1642 req = container_of(_req, struct r8a66597_request, req);
1646 transfer_complete(ep, req, -ECONNRESET);