Lines Matching refs:request
56 static inline void map_dma_buffer(struct musb_request *request, in map_dma_buffer() argument
62 request->map_state = UN_MAPPED; in map_dma_buffer()
73 musb_ep->packet_sz, request->request.buf, in map_dma_buffer()
74 request->request.length); in map_dma_buffer()
78 if (request->request.dma == DMA_ADDR_INVALID) { in map_dma_buffer()
84 request->request.buf, in map_dma_buffer()
85 request->request.length, in map_dma_buffer()
86 request->tx in map_dma_buffer()
93 request->request.dma = dma_addr; in map_dma_buffer()
94 request->map_state = MUSB_MAPPED; in map_dma_buffer()
97 request->request.dma, in map_dma_buffer()
98 request->request.length, in map_dma_buffer()
99 request->tx in map_dma_buffer()
102 request->map_state = PRE_MAPPED; in map_dma_buffer()
107 static inline void unmap_dma_buffer(struct musb_request *request, in unmap_dma_buffer() argument
110 struct musb_ep *musb_ep = request->ep; in unmap_dma_buffer()
112 if (!is_buffer_mapped(request) || !musb_ep->dma) in unmap_dma_buffer()
115 if (request->request.dma == DMA_ADDR_INVALID) { in unmap_dma_buffer()
120 if (request->map_state == MUSB_MAPPED) { in unmap_dma_buffer()
122 request->request.dma, in unmap_dma_buffer()
123 request->request.length, in unmap_dma_buffer()
124 request->tx in unmap_dma_buffer()
127 request->request.dma = DMA_ADDR_INVALID; in unmap_dma_buffer()
130 request->request.dma, in unmap_dma_buffer()
131 request->request.length, in unmap_dma_buffer()
132 request->tx in unmap_dma_buffer()
136 request->map_state = UN_MAPPED; in unmap_dma_buffer()
148 struct usb_request *request, in musb_g_giveback() argument
157 req = to_musb_request(request); in musb_g_giveback()
160 if (req->request.status == -EINPROGRESS) in musb_g_giveback()
161 req->request.status = status; in musb_g_giveback()
167 if (!dma_mapping_error(&musb->g.dev, request->dma)) in musb_g_giveback()
170 if (request->status == 0) in musb_g_giveback()
172 ep->end_point.name, request, in musb_g_giveback()
173 req->request.actual, req->request.length); in musb_g_giveback()
176 ep->end_point.name, request, in musb_g_giveback()
177 req->request.actual, req->request.length, in musb_g_giveback()
178 request->status); in musb_g_giveback()
179 usb_gadget_giveback_request(&req->ep->end_point, &req->request); in musb_g_giveback()
228 musb_g_giveback(ep, &req->request, status); in nuke()
261 struct usb_request *request; in txstate() local
283 request = &req->request; in txstate()
285 (int)(request->length - request->actual)); in txstate()
309 request_size = min_t(size_t, request->length - request->actual, in txstate()
312 use_dma = (request->dma != DMA_ADDR_INVALID && request_size); in txstate()
326 request->dma + request->actual, request_size); in txstate()
396 request->dma + request->actual, in txstate()
408 request->zero, in txstate()
409 request->dma + request->actual, in txstate()
422 (u8 *) (request->buf + request->actual)); in txstate()
423 request->actual += fifo_count; in txstate()
432 request->actual, request->length, in txstate()
446 struct usb_request *request; in musb_g_tx() local
454 request = &req->request; in musb_g_tx()
478 epnum, request); in musb_g_tx()
490 if (request) { in musb_g_tx()
501 request->actual += musb_ep->dma->actual_len; in musb_g_tx()
503 epnum, csr, musb_ep->dma->actual_len, request); in musb_g_tx()
510 if ((request->zero && request->length in musb_g_tx()
511 && (request->length % musb_ep->packet_sz == 0) in musb_g_tx()
512 && (request->actual == request->length)) in musb_g_tx()
515 (request->actual & in musb_g_tx()
529 request->zero = 0; in musb_g_tx()
532 if (request->actual == request->length) { in musb_g_tx()
533 musb_g_giveback(musb_ep, request, 0); in musb_g_tx()
563 struct usb_request *request = &req->request; in rxstate() local
609 !request->short_not_ok, in rxstate()
610 request->dma + request->actual, in rxstate()
611 request->length - request->actual)) { in rxstate()
634 if (request->short_not_ok && fifo_count == musb_ep->packet_sz) in rxstate()
639 if (request->actual < request->length) { in rxstate()
688 request->length - in rxstate()
689 request->actual, in rxstate()
699 transfer_size = min(request->length - request->actual, in rxstate()
708 request->dma in rxstate()
709 + request->actual, in rxstate()
717 (request->actual < request->length)) { in rxstate()
729 else if (request->short_not_ok) in rxstate()
731 request->length - in rxstate()
732 request->actual, in rxstate()
736 request->length - in rxstate()
737 request->actual, in rxstate()
758 request->dma in rxstate()
759 + request->actual, in rxstate()
766 len = request->length - request->actual; in rxstate()
778 u32 dma_addr = request->dma + request->actual; in rxstate()
807 (request->buf + request->actual)); in rxstate()
808 request->actual += fifo_count; in rxstate()
822 if (request->actual == request->length || in rxstate()
824 musb_g_giveback(musb_ep, request, 0); in rxstate()
834 struct usb_request *request; in musb_g_rx() local
852 request = &req->request; in musb_g_rx()
858 csr, dma ? " (dma)" : "", request); in musb_g_rx()
872 dev_dbg(musb->controller, "%s iso overrun on %p\n", musb_ep->name, request); in musb_g_rx()
873 if (request->status == -EINPROGRESS) in musb_g_rx()
874 request->status = -EOVERFLOW; in musb_g_rx()
895 request->actual += musb_ep->dma->actual_len; in musb_g_rx()
900 musb_ep->dma->actual_len, request); in musb_g_rx()
914 if ((request->actual < request->length) in musb_g_rx()
927 musb_g_giveback(musb_ep, request, 0); in musb_g_rx()
1190 struct musb_request *request = NULL; in musb_alloc_request() local
1192 request = kzalloc(sizeof *request, gfp_flags); in musb_alloc_request()
1193 if (!request) { in musb_alloc_request()
1198 request->request.dma = DMA_ADDR_INVALID; in musb_alloc_request()
1199 request->epnum = musb_ep->current_epnum; in musb_alloc_request()
1200 request->ep = musb_ep; in musb_alloc_request()
1202 return &request->request; in musb_alloc_request()
1230 &req->request, req->request.length, req->epnum); in musb_ep_restart()
1243 struct musb_request *request; in musb_gadget_queue() local
1256 request = to_musb_request(req); in musb_gadget_queue()
1257 request->musb = musb; in musb_gadget_queue()
1259 if (request->ep != musb_ep) in musb_gadget_queue()
1265 request->request.actual = 0; in musb_gadget_queue()
1266 request->request.status = -EINPROGRESS; in musb_gadget_queue()
1267 request->epnum = musb_ep->current_epnum; in musb_gadget_queue()
1268 request->tx = musb_ep->is_in; in musb_gadget_queue()
1270 map_dma_buffer(request, musb, musb_ep); in musb_gadget_queue()
1279 unmap_dma_buffer(request, musb); in musb_gadget_queue()
1284 list_add_tail(&request->list, &musb_ep->req_list); in musb_gadget_queue()
1287 if (!musb_ep->busy && &request->list == musb_ep->req_list.next) in musb_gadget_queue()
1288 musb_ep_restart(musb, request); in musb_gadget_queue()
1295 static int musb_gadget_dequeue(struct usb_ep *ep, struct usb_request *request) in musb_gadget_dequeue() argument
1298 struct musb_request *req = to_musb_request(request); in musb_gadget_dequeue()
1304 if (!ep || !request || to_musb_request(request)->ep != musb_ep) in musb_gadget_dequeue()
1314 dev_dbg(musb->controller, "request %p not queued to %s\n", request, ep->name); in musb_gadget_dequeue()
1321 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1333 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1338 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1361 struct musb_request *request; in musb_gadget_set_halt() local
1377 request = next_request(musb_ep); in musb_gadget_set_halt()
1379 if (request) { in musb_gadget_set_halt()
1424 if (!musb_ep->busy && !value && request) { in musb_gadget_set_halt()
1426 musb_ep_restart(musb, request); in musb_gadget_set_halt()