Lines Matching refs:req
38 static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req);
40 struct r8a66597_request *req);
45 struct r8a66597_request *req, int status);
572 struct r8a66597_request *req) in start_ep0_write() argument
579 if (req->req.length == 0) { in start_ep0_write()
582 transfer_complete(ep, req, 0); in start_ep0_write()
585 irq_ep0_write(ep, req); in start_ep0_write()
634 struct r8a66597_request *req) in sudmac_alloc_channel() argument
666 return usb_gadget_map_request(&r8a66597->gadget, &req->req, dma->dir); in sudmac_alloc_channel()
671 struct r8a66597_request *req) in sudmac_free_channel() argument
676 usb_gadget_unmap_request(&r8a66597->gadget, &req->req, ep->dma->dir); in sudmac_free_channel()
689 struct r8a66597_request *req) in sudmac_start() argument
691 BUG_ON(req->req.length == 0); in sudmac_start()
694 r8a66597_sudmac_write(r8a66597, req->req.dma, CH0BA); in sudmac_start()
695 r8a66597_sudmac_write(r8a66597, req->req.length, CH0BBC); in sudmac_start()
702 struct r8a66597_request *req) in start_packet_write() argument
711 if (req->req.length == 0) { in start_packet_write()
712 transfer_complete(ep, req, 0); in start_packet_write()
715 if (sudmac_alloc_channel(r8a66597, ep, req) < 0) { in start_packet_write()
724 irq_packet_write(ep, req); in start_packet_write()
731 sudmac_start(r8a66597, ep, req); in start_packet_write()
737 struct r8a66597_request *req) in start_packet_read() argument
753 DIV_ROUND_UP(req->req.length, ep->ep.maxpacket), in start_packet_read()
758 if (sudmac_alloc_channel(r8a66597, ep, req) < 0) { in start_packet_read()
765 sudmac_start(r8a66597, ep, req); in start_packet_read()
771 static void start_packet(struct r8a66597_ep *ep, struct r8a66597_request *req) in start_packet() argument
774 start_packet_write(ep, req); in start_packet()
776 start_packet_read(ep, req); in start_packet()
779 static void start_ep0(struct r8a66597_ep *ep, struct r8a66597_request *req) in start_ep0() argument
787 start_ep0_write(ep, req); in start_ep0()
790 start_packet_read(ep, req); in start_ep0()
902 struct r8a66597_request *req, int status) in transfer_complete() argument
915 list_del_init(&req->queue); in transfer_complete()
917 req->req.status = -ESHUTDOWN; in transfer_complete()
919 req->req.status = status; in transfer_complete()
925 sudmac_free_channel(ep->r8a66597, ep, req); in transfer_complete()
928 usb_gadget_giveback_request(&ep->ep, &req->req); in transfer_complete()
932 req = get_request_from_ep(ep); in transfer_complete()
934 start_packet(ep, req); in transfer_complete()
938 static void irq_ep0_write(struct r8a66597_ep *ep, struct r8a66597_request *req) in irq_ep0_write() argument
965 buf = req->req.buf + req->req.actual; in irq_ep0_write()
966 size = min(bufsize, req->req.length - req->req.actual); in irq_ep0_write()
969 if (req->req.buf) { in irq_ep0_write()
977 req->req.actual += size; in irq_ep0_write()
980 if ((!req->req.zero && (req->req.actual == req->req.length)) in irq_ep0_write()
993 struct r8a66597_request *req) in irq_packet_write() argument
1014 buf = req->req.buf + req->req.actual; in irq_packet_write()
1015 size = min(bufsize, req->req.length - req->req.actual); in irq_packet_write()
1018 if (req->req.buf) { in irq_packet_write()
1028 req->req.actual += size; in irq_packet_write()
1030 if ((!req->req.zero && (req->req.actual == req->req.length)) in irq_packet_write()
1042 struct r8a66597_request *req) in irq_packet_read() argument
1055 req->req.status = -EPIPE; in irq_packet_read()
1066 buf = req->req.buf + req->req.actual; in irq_packet_read()
1067 req_len = req->req.length - req->req.actual; in irq_packet_read()
1074 req->req.actual += size; in irq_packet_read()
1077 if ((!req->req.zero && (req->req.actual == req->req.length)) in irq_packet_read()
1086 if (req->req.buf) { in irq_packet_read()
1095 transfer_complete(ep, req, 0); in irq_packet_read()
1103 struct r8a66597_request *req; in irq_pipe_ready() local
1110 req = get_request_from_ep(ep); in irq_pipe_ready()
1111 irq_packet_read(ep, req); in irq_pipe_ready()
1118 req = get_request_from_ep(ep); in irq_pipe_ready()
1120 irq_packet_write(ep, req); in irq_pipe_ready()
1122 irq_packet_read(ep, req); in irq_pipe_ready()
1134 struct r8a66597_request *req; in irq_pipe_empty() local
1140 req = get_request_from_ep(ep); in irq_pipe_empty()
1141 irq_ep0_write(ep, req); in irq_pipe_empty()
1153 req = get_request_from_ep(ep); in irq_pipe_empty()
1155 transfer_complete(ep, req, 0); in irq_pipe_empty()
1212 struct r8a66597_request *req; in clear_feature() local
1226 req = get_request_from_ep(ep); in clear_feature()
1231 start_packet(ep, req); in clear_feature()
1374 struct r8a66597_request *req; in irq_control_stage() local
1376 req = get_request_from_ep(ep); in irq_control_stage()
1377 transfer_complete(ep, req, 0); in irq_control_stage()
1406 struct r8a66597_request *req; in sudmac_finish() local
1424 req = get_request_from_ep(ep); in sudmac_finish()
1428 req->req.actual += len; in sudmac_finish()
1434 if ((!req->req.zero && (req->req.actual == req->req.length)) in sudmac_finish()
1442 transfer_complete(ep, req, 0); in sudmac_finish()
1568 struct r8a66597_request *req; in r8a66597_disable() local
1575 req = get_request_from_ep(ep); in r8a66597_disable()
1577 transfer_complete(ep, req, -ECONNRESET); in r8a66597_disable()
1588 struct r8a66597_request *req; in r8a66597_alloc_request() local
1590 req = kzalloc(sizeof(struct r8a66597_request), gfp_flags); in r8a66597_alloc_request()
1591 if (!req) in r8a66597_alloc_request()
1594 INIT_LIST_HEAD(&req->queue); in r8a66597_alloc_request()
1596 return &req->req; in r8a66597_alloc_request()
1601 struct r8a66597_request *req; in r8a66597_free_request() local
1603 req = container_of(_req, struct r8a66597_request, req); in r8a66597_free_request()
1604 kfree(req); in r8a66597_free_request()
1611 struct r8a66597_request *req; in r8a66597_queue() local
1616 req = container_of(_req, struct r8a66597_request, req); in r8a66597_queue()
1626 list_add_tail(&req->queue, &ep->queue); in r8a66597_queue()
1627 req->req.actual = 0; in r8a66597_queue()
1628 req->req.status = -EINPROGRESS; in r8a66597_queue()
1631 start_ep0(ep, req); in r8a66597_queue()
1634 start_packet(ep, req); in r8a66597_queue()
1645 struct r8a66597_request *req; in r8a66597_dequeue() local
1649 req = container_of(_req, struct r8a66597_request, req); in r8a66597_dequeue()
1653 transfer_complete(ep, req, -ECONNRESET); in r8a66597_dequeue()
1662 struct r8a66597_request *req; in r8a66597_set_halt() local
1667 req = get_request_from_ep(ep); in r8a66597_set_halt()