Lines Matching refs:request
80 static inline void map_dma_buffer(struct musb_request *request, in map_dma_buffer() argument
86 request->map_state = UN_MAPPED; in map_dma_buffer()
97 musb_ep->packet_sz, request->request.buf, in map_dma_buffer()
98 request->request.length); in map_dma_buffer()
102 if (request->request.dma == DMA_ADDR_INVALID) { in map_dma_buffer()
103 request->request.dma = dma_map_single( in map_dma_buffer()
105 request->request.buf, in map_dma_buffer()
106 request->request.length, in map_dma_buffer()
107 request->tx in map_dma_buffer()
110 request->map_state = MUSB_MAPPED; in map_dma_buffer()
113 request->request.dma, in map_dma_buffer()
114 request->request.length, in map_dma_buffer()
115 request->tx in map_dma_buffer()
118 request->map_state = PRE_MAPPED; in map_dma_buffer()
123 static inline void unmap_dma_buffer(struct musb_request *request, in unmap_dma_buffer() argument
126 if (!is_buffer_mapped(request)) in unmap_dma_buffer()
129 if (request->request.dma == DMA_ADDR_INVALID) { in unmap_dma_buffer()
134 if (request->map_state == MUSB_MAPPED) { in unmap_dma_buffer()
136 request->request.dma, in unmap_dma_buffer()
137 request->request.length, in unmap_dma_buffer()
138 request->tx in unmap_dma_buffer()
141 request->request.dma = DMA_ADDR_INVALID; in unmap_dma_buffer()
144 request->request.dma, in unmap_dma_buffer()
145 request->request.length, in unmap_dma_buffer()
146 request->tx in unmap_dma_buffer()
150 request->map_state = UN_MAPPED; in unmap_dma_buffer()
153 static inline void map_dma_buffer(struct musb_request *request, in map_dma_buffer() argument
158 static inline void unmap_dma_buffer(struct musb_request *request, in unmap_dma_buffer() argument
173 struct usb_request *request, in musb_g_giveback() argument
182 req = to_musb_request(request); in musb_g_giveback()
185 if (req->request.status == -EINPROGRESS) in musb_g_giveback()
186 req->request.status = status; in musb_g_giveback()
192 if (request->status == 0) in musb_g_giveback()
194 ep->end_point.name, request, in musb_g_giveback()
195 req->request.actual, req->request.length); in musb_g_giveback()
198 ep->end_point.name, request, in musb_g_giveback()
199 req->request.actual, req->request.length, in musb_g_giveback()
200 request->status); in musb_g_giveback()
201 req->request.complete(&req->ep->end_point, &req->request); in musb_g_giveback()
250 musb_g_giveback(ep, &req->request, status); in nuke()
318 struct usb_request *request; in txstate() local
340 request = &req->request; in txstate()
342 (int)(request->length - request->actual)); in txstate()
366 request_size = min_t(size_t, request->length - request->actual, in txstate()
369 use_dma = (request->dma != DMA_ADDR_INVALID); in txstate()
383 request->dma + request->actual, request_size); in txstate()
438 request->dma + request->actual, in txstate()
450 request->zero, in txstate()
451 request->dma + request->actual, in txstate()
465 (u8 *) (request->buf + request->actual)); in txstate()
466 request->actual += fifo_count; in txstate()
475 request->actual, request->length, in txstate()
489 struct usb_request *request; in musb_g_tx() local
497 request = &req->request; in musb_g_tx()
521 epnum, request); in musb_g_tx()
533 if (request) { in musb_g_tx()
544 request->actual += musb_ep->dma->actual_len; in musb_g_tx()
546 epnum, csr, musb_ep->dma->actual_len, request); in musb_g_tx()
553 if ((request->zero && request->length in musb_g_tx()
554 && (request->length % musb_ep->packet_sz == 0) in musb_g_tx()
555 && (request->actual == request->length)) in musb_g_tx()
558 (request->actual & in musb_g_tx()
572 request->zero = 0; in musb_g_tx()
575 if (request->actual == request->length) { in musb_g_tx()
576 musb_g_giveback(musb_ep, request, 0); in musb_g_tx()
637 struct usb_request *request = &req->request; in rxstate() local
683 !request->short_not_ok, in rxstate()
684 request->dma + request->actual, in rxstate()
685 request->length - request->actual)) { in rxstate()
708 if (request->short_not_ok && len == musb_ep->packet_sz) in rxstate()
713 if (request->actual < request->length) { in rxstate()
768 if (request->actual < request->length) { in rxstate()
771 transfer_size = min(request->length - request->actual, in rxstate()
775 transfer_size = min(request->length - request->actual, in rxstate()
784 request->dma in rxstate()
785 + request->actual, in rxstate()
794 (request->actual < request->length)) { in rxstate()
806 else if (request->short_not_ok) in rxstate()
807 transfer_size = min(request->length - in rxstate()
808 request->actual, in rxstate()
811 transfer_size = min(request->length - in rxstate()
812 request->actual, in rxstate()
833 request->dma in rxstate()
834 + request->actual, in rxstate()
841 fifo_count = request->length - request->actual; in rxstate()
853 u32 dma_addr = request->dma + request->actual; in rxstate()
882 (request->buf + request->actual)); in rxstate()
883 request->actual += fifo_count; in rxstate()
897 if (request->actual == request->length || len < musb_ep->packet_sz) in rxstate()
898 musb_g_giveback(musb_ep, request, 0); in rxstate()
908 struct usb_request *request; in musb_g_rx() local
926 request = &req->request; in musb_g_rx()
932 csr, dma ? " (dma)" : "", request); in musb_g_rx()
946 dev_dbg(musb->controller, "%s iso overrun on %p\n", musb_ep->name, request); in musb_g_rx()
947 if (request->status == -EINPROGRESS) in musb_g_rx()
948 request->status = -EOVERFLOW; in musb_g_rx()
969 request->actual += musb_ep->dma->actual_len; in musb_g_rx()
974 musb_ep->dma->actual_len, request); in musb_g_rx()
988 if ((request->actual < request->length) in musb_g_rx()
1001 musb_g_giveback(musb_ep, request, 0); in musb_g_rx()
1266 struct musb_request *request = NULL; in musb_alloc_request() local
1268 request = kzalloc(sizeof *request, gfp_flags); in musb_alloc_request()
1269 if (!request) { in musb_alloc_request()
1274 request->request.dma = DMA_ADDR_INVALID; in musb_alloc_request()
1275 request->epnum = musb_ep->current_epnum; in musb_alloc_request()
1276 request->ep = musb_ep; in musb_alloc_request()
1278 return &request->request; in musb_alloc_request()
1306 &req->request, req->request.length, req->epnum); in musb_ep_restart()
1319 struct musb_request *request; in musb_gadget_queue() local
1332 request = to_musb_request(req); in musb_gadget_queue()
1333 request->musb = musb; in musb_gadget_queue()
1335 if (request->ep != musb_ep) in musb_gadget_queue()
1341 request->request.actual = 0; in musb_gadget_queue()
1342 request->request.status = -EINPROGRESS; in musb_gadget_queue()
1343 request->epnum = musb_ep->current_epnum; in musb_gadget_queue()
1344 request->tx = musb_ep->is_in; in musb_gadget_queue()
1346 map_dma_buffer(request, musb, musb_ep); in musb_gadget_queue()
1359 list_add_tail(&request->list, &musb_ep->req_list); in musb_gadget_queue()
1362 if (!musb_ep->busy && &request->list == musb_ep->req_list.next) in musb_gadget_queue()
1363 musb_ep_restart(musb, request); in musb_gadget_queue()
1370 static int musb_gadget_dequeue(struct usb_ep *ep, struct usb_request *request) in musb_gadget_dequeue() argument
1373 struct musb_request *req = to_musb_request(request); in musb_gadget_dequeue()
1379 if (!ep || !request || to_musb_request(request)->ep != musb_ep) in musb_gadget_dequeue()
1389 dev_dbg(musb->controller, "request %p not queued to %s\n", request, ep->name); in musb_gadget_dequeue()
1396 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1408 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1413 musb_g_giveback(musb_ep, request, -ECONNRESET); in musb_gadget_dequeue()
1436 struct musb_request *request; in musb_gadget_set_halt() local
1452 request = next_request(musb_ep); in musb_gadget_set_halt()
1454 if (request) { in musb_gadget_set_halt()
1499 if (!musb_ep->busy && !value && request) { in musb_gadget_set_halt()
1501 musb_ep_restart(musb, request); in musb_gadget_set_halt()