Lines Matching refs:req
65 udc_request_t req; member
73 usb_request_t *req; member
99 ept->req = 0; in _udc_endpoint_alloc()
154 if (ept->req) { in endpoint_flush()
158 while (ept->req) { in endpoint_flush()
196 usb_request_t *req; in udc_request_alloc() local
197 if ((req = malloc(sizeof(*req))) == NULL) { in udc_request_alloc()
204 free(req); in udc_request_alloc()
207 req->dtd = USB.dtd_freelist; in udc_request_alloc()
208 USB.dtd_freelist = req->dtd->next; in udc_request_alloc()
211 req->req.buffer = 0; in udc_request_alloc()
212 req->req.length = 0; in udc_request_alloc()
213 return &req->req; in udc_request_alloc()
217 void udc_request_free(struct udc_request *req) { in udc_request_free() argument
219 free(req); in udc_request_free()
224 usb_request_t *req = (usb_request_t *) _req; in udc_request_queue() local
225 usb_dtd_t *dtd = req->dtd; in udc_request_queue()
226 unsigned phys = (unsigned) req->req.buffer; in udc_request_queue()
230 dtd->config = DTD_LEN(req->req.length) | DTD_IOC | DTD_ACTIVE; in udc_request_queue()
238 req->next = 0; in udc_request_queue()
242 } else if (ept->req) { in udc_request_queue()
245 ept->last->next = req; in udc_request_queue()
251 ept->req = req; in udc_request_queue()
253 ept->last = req; in udc_request_queue()
256 DBG("ept%d %s queue req=%p\n", ept->num, ept->in ? "in" : "out", req); in udc_request_queue()
261 usb_request_t *req; in handle_ept_complete() local
267 ept->num, ept->in ? "in" : "out", ept->req); in handle_ept_complete()
269 if ((req = ept->req)) { in handle_ept_complete()
270 if (req->next) { in handle_ept_complete()
272 ept->head->next_dtd = (unsigned) req->next->dtd; in handle_ept_complete()
276 ept->req = req->next; in handle_ept_complete()
278 ept->req = 0; in handle_ept_complete()
281 dtd = req->dtd; in handle_ept_complete()
288 actual = req->req.length - ((dtd->config >> 16) & 0x7fff); in handle_ept_complete()
291 if (req->req.complete) { in handle_ept_complete()
292 req->req.complete(&req->req, actual, status); in handle_ept_complete()
303 static void ep0in_complete(struct udc_request *req, unsigned actual, int status) { in ep0in_complete() argument
304 usb_t *usb = (usb_t *) req->context; in ep0in_complete()
305 DBG("ep0in_complete %p %d %d\n", req, actual, status); in ep0in_complete()
307 req->length = 0; in ep0in_complete()
308 req->complete = 0; in ep0in_complete()
309 udc_request_queue(usb->ep0out, req); in ep0in_complete()
350 usb->ep0in->req = 0; in handle_setup()
351 usb->ep0out->req = 0; in handle_setup()
520 if (ept->req) { in lpc43xx_USB0_IRQ()
521 ept->req->dtd->config = DTD_HALTED; in lpc43xx_USB0_IRQ()