Lines Matching refs:hs_req

452 				struct dwc2_hsotg_req *hs_req)  in dwc2_hsotg_unmap_dma()  argument
454 struct usb_request *req = &hs_req->req; in dwc2_hsotg_unmap_dma()
525 struct dwc2_hsotg_req *hs_req) in dwc2_hsotg_write_fifo() argument
529 int buf_pos = hs_req->req.actual; in dwc2_hsotg_write_fifo()
661 to_write, hs_req->req.length, can_write, buf_pos); in dwc2_hsotg_write_fifo()
666 hs_req->req.actual = buf_pos + to_write; in dwc2_hsotg_write_fifo()
673 data = hs_req->req.buf + buf_pos; in dwc2_hsotg_write_fifo()
986 struct dwc2_hsotg_req *hs_req, *treq; in dwc2_gadget_start_isoc_ddma() local
1010 list_for_each_entry_safe(hs_req, treq, &hs_ep->queue, queue) { in dwc2_gadget_start_isoc_ddma()
1011 dma_addr_t dma_addr = hs_req->req.dma; in dwc2_gadget_start_isoc_ddma()
1013 if (hs_req->req.num_sgs) { in dwc2_gadget_start_isoc_ddma()
1014 WARN_ON(hs_req->req.num_sgs > 1); in dwc2_gadget_start_isoc_ddma()
1015 dma_addr = sg_dma_address(hs_req->req.sg); in dwc2_gadget_start_isoc_ddma()
1018 hs_req->req.length); in dwc2_gadget_start_isoc_ddma()
1038 struct dwc2_hsotg_req *hs_req,
1053 struct dwc2_hsotg_req *hs_req, in dwc2_hsotg_start_req() argument
1056 struct usb_request *ureq = &hs_req->req; in dwc2_hsotg_start_req()
1073 } else if (hs_ep->req != hs_req && continuing) { in dwc2_hsotg_start_req()
1150 hs_ep->req = hs_req; in dwc2_hsotg_start_req()
1203 hs_req->req.frame_number = hs_ep->target_frame; in dwc2_hsotg_start_req()
1204 hs_req->req.actual = 0; in dwc2_hsotg_start_req()
1205 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, -ENODATA); in dwc2_hsotg_start_req()
1233 dwc2_hsotg_write_fifo(hsotg, hs_ep, hs_req); in dwc2_hsotg_start_req()
1288 struct dwc2_hsotg_req *hs_req) in dwc2_hsotg_handle_unaligned_buf_start() argument
1290 void *req_buf = hs_req->req.buf; in dwc2_hsotg_handle_unaligned_buf_start()
1296 WARN_ON(hs_req->saved_req_buf); in dwc2_hsotg_handle_unaligned_buf_start()
1299 hs_ep->ep.name, req_buf, hs_req->req.length); in dwc2_hsotg_handle_unaligned_buf_start()
1301 hs_req->req.buf = kmalloc(hs_req->req.length, GFP_ATOMIC); in dwc2_hsotg_handle_unaligned_buf_start()
1302 if (!hs_req->req.buf) { in dwc2_hsotg_handle_unaligned_buf_start()
1303 hs_req->req.buf = req_buf; in dwc2_hsotg_handle_unaligned_buf_start()
1311 hs_req->saved_req_buf = req_buf; in dwc2_hsotg_handle_unaligned_buf_start()
1314 memcpy(hs_req->req.buf, req_buf, hs_req->req.length); in dwc2_hsotg_handle_unaligned_buf_start()
1321 struct dwc2_hsotg_req *hs_req) in dwc2_hsotg_handle_unaligned_buf_complete() argument
1324 if (!using_dma(hsotg) || !hs_req->saved_req_buf) in dwc2_hsotg_handle_unaligned_buf_complete()
1328 hs_ep->ep.name, hs_req->req.status, hs_req->req.actual); in dwc2_hsotg_handle_unaligned_buf_complete()
1331 if (!hs_ep->dir_in && !hs_req->req.status) in dwc2_hsotg_handle_unaligned_buf_complete()
1332 memcpy(hs_req->saved_req_buf, hs_req->req.buf, in dwc2_hsotg_handle_unaligned_buf_complete()
1333 hs_req->req.actual); in dwc2_hsotg_handle_unaligned_buf_complete()
1336 kfree(hs_req->req.buf); in dwc2_hsotg_handle_unaligned_buf_complete()
1338 hs_req->req.buf = hs_req->saved_req_buf; in dwc2_hsotg_handle_unaligned_buf_complete()
1339 hs_req->saved_req_buf = NULL; in dwc2_hsotg_handle_unaligned_buf_complete()
1410 struct dwc2_hsotg_req *hs_req = our_req(req); in dwc2_hsotg_ep_queue() local
1431 INIT_LIST_HEAD(&hs_req->queue); in dwc2_hsotg_ep_queue()
1460 ret = dwc2_hsotg_handle_unaligned_buf_start(hs, hs_ep, hs_req); in dwc2_hsotg_ep_queue()
1478 list_add_tail(&hs_req->queue, &hs_ep->queue); in dwc2_hsotg_ep_queue()
1488 dma_addr_t dma_addr = hs_req->req.dma; in dwc2_hsotg_ep_queue()
1490 if (hs_req->req.num_sgs) { in dwc2_hsotg_ep_queue()
1491 WARN_ON(hs_req->req.num_sgs > 1); in dwc2_hsotg_ep_queue()
1492 dma_addr = sg_dma_address(hs_req->req.sg); in dwc2_hsotg_ep_queue()
1495 hs_req->req.length); in dwc2_hsotg_ep_queue()
1507 dwc2_hsotg_start_req(hs, hs_ep, hs_req, false); in dwc2_hsotg_ep_queue()
1522 dwc2_hsotg_start_req(hs, hs_ep, hs_req, false); in dwc2_hsotg_ep_queue()
1559 struct dwc2_hsotg_req *hs_req = our_req(req); in dwc2_hsotg_ep_free_request() local
1561 kfree(hs_req); in dwc2_hsotg_ep_free_request()
1765 struct dwc2_hsotg_req *hs_req; in dwc2_gadget_start_next_request() local
1768 hs_req = get_ep_head(hs_ep); in dwc2_gadget_start_next_request()
1769 dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, false); in dwc2_gadget_start_next_request()
1793 struct dwc2_hsotg_req *hs_req; in dwc2_hsotg_process_req_feature() local
1871 hs_req = ep->req; in dwc2_hsotg_process_req_feature()
1873 list_del_init(&hs_req->queue); in dwc2_hsotg_process_req_feature()
1874 if (hs_req->req.complete) { in dwc2_hsotg_process_req_feature()
1877 &ep->ep, &hs_req->req); in dwc2_hsotg_process_req_feature()
2055 struct dwc2_hsotg_req *hs_req = our_req(req); in dwc2_hsotg_enqueue_setup() local
2065 if (!list_empty(&hs_req->queue)) { in dwc2_hsotg_enqueue_setup()
2134 struct dwc2_hsotg_req *hs_req, in dwc2_hsotg_complete_request() argument
2137 if (!hs_req) { in dwc2_hsotg_complete_request()
2143 hs_ep, hs_ep->ep.name, hs_req, result, hs_req->req.complete); in dwc2_hsotg_complete_request()
2150 if (hs_req->req.status == -EINPROGRESS) in dwc2_hsotg_complete_request()
2151 hs_req->req.status = result; in dwc2_hsotg_complete_request()
2154 dwc2_hsotg_unmap_dma(hsotg, hs_ep, hs_req); in dwc2_hsotg_complete_request()
2156 dwc2_hsotg_handle_unaligned_buf_complete(hsotg, hs_ep, hs_req); in dwc2_hsotg_complete_request()
2159 list_del_init(&hs_req->queue); in dwc2_hsotg_complete_request()
2166 if (hs_req->req.complete) { in dwc2_hsotg_complete_request()
2168 usb_gadget_giveback_request(&hs_ep->ep, &hs_req->req); in dwc2_hsotg_complete_request()
2198 struct dwc2_hsotg_req *hs_req; in dwc2_gadget_complete_isoc_request_ddma() local
2209 hs_req = get_ep_head(hs_ep); in dwc2_gadget_complete_isoc_request_ddma()
2210 if (!hs_req) { in dwc2_gadget_complete_isoc_request_ddma()
2214 ureq = &hs_req->req; in dwc2_gadget_complete_isoc_request_ddma()
2236 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); in dwc2_gadget_complete_isoc_request_ddma()
2280 struct dwc2_hsotg_req *hs_req = hs_ep->req; in dwc2_hsotg_rx_data() local
2285 if (!hs_req) { in dwc2_hsotg_rx_data()
2301 read_ptr = hs_req->req.actual; in dwc2_hsotg_rx_data()
2302 max_req = hs_req->req.length - read_ptr; in dwc2_hsotg_rx_data()
2305 __func__, to_read, max_req, read_ptr, hs_req->req.length); in dwc2_hsotg_rx_data()
2318 hs_req->req.actual += to_read; in dwc2_hsotg_rx_data()
2326 hs_req->req.buf + read_ptr, to_read); in dwc2_hsotg_rx_data()
2408 struct dwc2_hsotg_req *hs_req = hs_ep->req; in dwc2_hsotg_handle_outdone() local
2409 struct usb_request *req = &hs_req->req; in dwc2_hsotg_handle_outdone()
2413 if (!hs_req) { in dwc2_hsotg_handle_outdone()
2420 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); in dwc2_hsotg_handle_outdone()
2448 dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, true); in dwc2_hsotg_handle_outdone()
2476 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, result); in dwc2_hsotg_handle_outdone()
2669 struct dwc2_hsotg_req *hs_req = hs_ep->req; in dwc2_hsotg_trytx() local
2671 if (!hs_ep->dir_in || !hs_req) { in dwc2_hsotg_trytx()
2682 if (hs_req->req.actual < hs_req->req.length) { in dwc2_hsotg_trytx()
2685 return dwc2_hsotg_write_fifo(hsotg, hs_ep, hs_req); in dwc2_hsotg_trytx()
2702 struct dwc2_hsotg_req *hs_req = hs_ep->req; in dwc2_hsotg_complete_in() local
2706 if (!hs_req) { in dwc2_hsotg_complete_in()
2721 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); in dwc2_hsotg_complete_in()
2758 if (hs_req->req.actual != size_done) in dwc2_hsotg_complete_in()
2760 __func__, hs_req->req.actual, size_done); in dwc2_hsotg_complete_in()
2762 hs_req->req.actual = size_done; in dwc2_hsotg_complete_in()
2764 hs_req->req.length, hs_req->req.actual, hs_req->req.zero); in dwc2_hsotg_complete_in()
2766 if (!size_left && hs_req->req.actual < hs_req->req.length) { in dwc2_hsotg_complete_in()
2768 dwc2_hsotg_start_req(hsotg, hs_ep, hs_req, true); in dwc2_hsotg_complete_in()
2790 hs_req->req.frame_number = hs_ep->target_frame; in dwc2_hsotg_complete_in()
2794 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, 0); in dwc2_hsotg_complete_in()
2841 struct dwc2_hsotg_req *hs_req; in dwc2_gadget_handle_ep_disabled() local
2878 hs_req = get_ep_head(hs_ep); in dwc2_gadget_handle_ep_disabled()
2879 if (hs_req) { in dwc2_gadget_handle_ep_disabled()
2880 hs_req->req.frame_number = hs_ep->target_frame; in dwc2_gadget_handle_ep_disabled()
2881 hs_req->req.actual = 0; in dwc2_gadget_handle_ep_disabled()
2882 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, in dwc2_gadget_handle_ep_disabled()
2905 struct dwc2_hsotg_req *hs_req; in dwc2_gadget_handle_out_token_ep_disabled() local
2936 hs_req = get_ep_head(ep); in dwc2_gadget_handle_out_token_ep_disabled()
2937 if (hs_req) { in dwc2_gadget_handle_out_token_ep_disabled()
2938 hs_req->req.frame_number = ep->target_frame; in dwc2_gadget_handle_out_token_ep_disabled()
2939 hs_req->req.actual = 0; in dwc2_gadget_handle_out_token_ep_disabled()
2940 dwc2_hsotg_complete_request(hsotg, ep, hs_req, -ENODATA); in dwc2_gadget_handle_out_token_ep_disabled()
2973 struct dwc2_hsotg_req *hs_req; in dwc2_gadget_handle_nak() local
3046 hs_req = get_ep_head(hs_ep); in dwc2_gadget_handle_nak()
3047 if (hs_req) { in dwc2_gadget_handle_nak()
3048 hs_req->req.frame_number = hs_ep->target_frame; in dwc2_gadget_handle_nak()
3049 hs_req->req.actual = 0; in dwc2_gadget_handle_nak()
3050 dwc2_hsotg_complete_request(hsotg, hs_ep, hs_req, -ENODATA); in dwc2_gadget_handle_nak()
4353 struct dwc2_hsotg_req *hs_req = our_req(req); in dwc2_hsotg_ep_dequeue() local
4362 if (!on_list(hs_ep, hs_req)) { in dwc2_hsotg_ep_dequeue()
4371 dwc2_hsotg_complete_request(hs, hs_ep, hs_req, -ECONNRESET); in dwc2_hsotg_ep_dequeue()