Lines Matching defs:urb
108 // struct urb *usb_urb;
116 if (!qtd->urb)
120 if (qtd->urb->status != -EPIPE && qtd->urb->status != -EREMOTEIO) {
471 * dwc2_update_urb_state() - Updates the state of the URB after a Transfer
473 * of the URB based on the number of bytes transferred via the host channel.
474 * Sets the URB status if the data transfer is finished.
476 * Return: 1 if the data transfer specified by the URB is completely finished,
481 struct dwc2_hcd_urb *urb,
490 if (urb->actual_length + xfer_length > urb->length) {
492 xfer_length = urb->length - urb->actual_length;
498 usb_syncmem(urb->usbdma, 0, chan->qh->dw_align_buf_size,
502 memcpy(urb->buf + urb->actual_length,
504 usb_syncmem(urb->usbdma, 0, chan->qh->dw_align_buf_size,
509 dev_vdbg(hsotg->dev, "urb->actual_length=%d xfer_length=%d\n",
510 urb->actual_length, xfer_length);
511 urb->actual_length += xfer_length;
514 (urb->flags & URB_SEND_ZERO_PACKET) &&
515 urb->actual_length >= urb->length &&
516 !(urb->length % chan->max_packet)) {
518 } else if (short_read || urb->actual_length >= urb->length) {
520 urb->status = 0;
528 dev_vdbg(hsotg->dev, " urb->transfer_buffer_length %d\n", urb->length);
529 dev_vdbg(hsotg->dev, " urb->actual_length %d\n", urb->actual_length);
562 * dwc2_update_isoc_urb_state() - Updates the state of an Isochronous URB when
565 * halt_status. Completes the Isochronous URB if all the URB frames have been
569 * transferred in the URB. Otherwise return DWC2_HC_XFER_URB_COMPLETE.
577 struct dwc2_hcd_urb *urb = qtd->urb;
580 if (!urb)
583 frame_desc = &urb->iso_descs[qtd->isoc_frame_index];
601 memcpy(urb->buf + frame_desc->offset +
617 urb->error_count++;
625 urb->error_count++;
630 urb->error_count++;
645 memcpy(urb->buf + frame_desc->offset +
669 if (++qtd->isoc_frame_index == urb->packet_count) {
671 * urb->status is not used for isoc transfers. The individual
763 " Complete URB with transaction error\n");
776 dev_vdbg(hsotg->dev, " Complete URB with I/O error\n");
971 if (!qtd->urb)
974 frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index];
987 usb_syncmem(qtd->urb->usbdma, chan->qh->dw_align_buf_dma,
989 memcpy(qtd->urb->buf + frame_desc->offset +
991 usb_syncmem(qtd->urb->usbdma, chan->qh->dw_align_buf_dma,
1004 if (qtd->isoc_frame_index == qtd->urb->packet_count) {
1024 struct dwc2_hcd_urb *urb = qtd->urb;
1034 if (!urb)
1037 pipe_type = dwc2_hcd_get_pipe_type(&urb->pipe_info);
1060 /* Update the QTD and URB states */
1065 if (urb->length > 0)
1075 chnum, urb, qtd);
1088 if (urb->status == -EINPROGRESS)
1089 urb->status = 0;
1090 dwc2_host_complete(hsotg, qtd, urb->status);
1100 urb_xfer_done = dwc2_update_urb_state(hsotg, chan, chnum, urb,
1103 dwc2_host_complete(hsotg, qtd, urb->status);
1115 urb_xfer_done = dwc2_update_urb_state(hsotg, chan, chnum, urb,
1119 * Interrupt URB is done on the first transfer complete
1123 dwc2_host_complete(hsotg, qtd, urb->status);
1155 struct dwc2_hcd_urb *urb = qtd->urb;
1167 if (!urb)
1170 pipe_type = dwc2_hcd_get_pipe_type(&urb->pipe_info);
1196 * Updates the state of the URB when a transfer has been stopped due to an
1198 * actual_length field of the URB to reflect the number of bytes that have
1203 struct dwc2_hcd_urb *urb,
1210 if (urb->actual_length + xfer_length > urb->length) {
1212 xfer_length = urb->length - urb->actual_length;
1225 memcpy(urb->buf + urb->actual_length,
1233 urb->actual_length += xfer_length;
1244 dev_vdbg(hsotg->dev, " urb->actual_length %d\n",
1245 urb->actual_length);
1246 dev_vdbg(hsotg->dev, " urb->transfer_buffer_length %d\n",
1247 urb->length);
1263 if (!qtd->urb) {
1264 dev_dbg(hsotg->dev, "%s: qtd->urb is NULL\n", __func__);
1291 switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
1307 switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
1336 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb,
1405 frame_desc = &qtd->urb->iso_descs[
1467 if (qtd->urb &&
1468 qtd->isoc_frame_index == qtd->urb->packet_count) {
1514 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb, qtd,
1570 struct dwc2_hcd_urb *urb = qtd->urb;
1575 if (!urb)
1592 dwc2_hcd_get_dev_addr(&urb->pipe_info));
1594 dwc2_hcd_get_ep_num(&urb->pipe_info),
1595 dwc2_hcd_is_pipe_in(&urb->pipe_info) ? "IN" : "OUT");
1597 switch (dwc2_hcd_get_pipe_type(&urb->pipe_info)) {
1635 dwc2_hcd_get_mps(&urb->pipe_info));
1636 dev_err(hsotg->dev, " Data buffer length: %d\n", urb->length);
1638 urb->buf, (unsigned long)urb->dma);
1640 urb->setup_packet, (unsigned long)urb->setup_dma);
1641 dev_err(hsotg->dev, " Interval: %d\n", urb->interval);
1683 switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
1689 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb,
1739 switch (dwc2_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
1993 dwc2_update_urb_state_abn(hsotg, chan, chnum, qtd->urb,