• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/usb/host/

Lines Matching defs:qtd

341 #define	EHCI_TUNE_CERR		3	/* 0-3 qtd retries; 0 == don't stop */
530 struct isp1760_qtd *qtd, struct urb *urb,
550 dw0 |= PTD_LENGTH(qtd->length);
558 pid_code = qtd->packet_type;
599 dw3 |= PTD_DATA_TOGGLE(qtd->toggle);
617 struct isp1760_qtd *qtd, struct urb *urb,
678 struct isp1760_qtd *qtd, struct urb *urb,
681 transform_into_atl(priv, qh, qtd, urb, payload, ptd);
682 transform_add_int(priv, qh, qtd, urb, payload, ptd);
685 static int qtd_fill(struct isp1760_qtd *qtd, void *databuffer, size_t len,
690 qtd->data_buffer = databuffer;
691 qtd->packet_type = GET_QTD_TOKEN_TYPE(token);
692 qtd->toggle = GET_DATA_TOGGLE(token);
699 qtd->length = count;
749 static void enqueue_one_qtd(struct isp1760_qtd *qtd, struct isp1760_hcd *priv,
755 token = qtd->packet_type;
757 if (qtd->length && (qtd->length <= HC_ATL_PL_SIZE)) {
763 priv_write_copy(priv, qtd->data_buffer,
765 qtd->length);
772 struct urb *urb, u32 slot, struct isp1760_qtd *qtd)
777 transform_into_atl(priv, qh, qtd, urb, payload, &ptd);
779 enqueue_one_qtd(qtd, priv, payload);
783 priv->atl_ints[slot].qtd = qtd;
784 priv->atl_ints[slot].data_buffer = qtd->data_buffer;
786 qtd->status |= URB_ENQUEUED | URB_TYPE_ATL;
787 qtd->status |= slot << 16;
792 struct urb *urb, u32 slot, struct isp1760_qtd *qtd)
797 transform_into_int(priv, qh, qtd, urb, payload, &ptd);
799 enqueue_one_qtd(qtd, priv, payload);
803 priv->int_ints[slot].qtd = qtd;
804 priv->int_ints[slot].data_buffer = qtd->data_buffer;
806 qtd->status |= URB_ENQUEUED | URB_TYPE_INT;
807 qtd->status |= slot << 16;
811 struct isp1760_qtd *qtd)
836 payload = alloc_mem(priv, qtd->length);
838 enqueue_one_atl_qtd(atl_regs, payload, priv, qh, qtd->urb, slot, qtd);
853 struct isp1760_qtd *qtd)
878 payload = alloc_mem(priv, qtd->length);
880 enqueue_one_int_qtd(int_regs, payload, priv, qh, qtd->urb, slot, qtd);
918 static void isp1760_qtd_free(struct isp1760_qtd *qtd)
920 kmem_cache_free(qtd_cachep, qtd);
923 static struct isp1760_qtd *clean_this_qtd(struct isp1760_qtd *qtd)
927 tmp_qtd = qtd->hw_next;
928 list_del(&qtd->qtd_list);
929 isp1760_qtd_free(qtd);
938 static struct isp1760_qtd *clean_up_qtdlist(struct isp1760_qtd *qtd)
944 tmp_qtd = qtd->hw_next;
945 last_one = qtd->status & URB_COMPLETE_NOTIFY;
946 list_del(&qtd->qtd_list);
947 isp1760_qtd_free(qtd);
948 qtd = tmp_qtd;
949 } while (!last_one && qtd);
951 return qtd;
968 struct isp1760_qtd *qtd;
997 qtd = priv->atl_ints[queue_entry].qtd;
1033 "of %zu\n", length, qtd->length);
1046 "%d of %zu done: %08x cur: %08x\n", qtd,
1048 qtd->length, done_map,
1121 priv->atl_ints[queue_entry].qtd = NULL;
1132 qtd = clean_up_qtdlist(qtd);
1135 } else if (usb_pipebulk(urb->pipe) && (length < qtd->length)) {
1142 length, qtd->length);
1148 qtd = clean_up_qtdlist(qtd);
1152 } else if (qtd->status & URB_COMPLETE_NOTIFY) {
1153 /* that was the last qtd of that URB */
1158 qtd = clean_this_qtd(qtd);
1164 qtd = clean_this_qtd(qtd);
1165 BUG_ON(!qtd);
1168 if (qtd)
1169 enqueue_an_ATL_packet(usb_hcd, qh, qtd);
1189 struct isp1760_qtd *qtd;
1213 qtd = priv->int_ints[queue_entry].qtd;
1275 priv->int_ints[queue_entry].qtd = NULL;
1285 qtd = clean_up_qtdlist(qtd);
1288 } else if (qtd->status & URB_COMPLETE_NOTIFY) {
1293 qtd = clean_this_qtd(qtd);
1299 qtd = clean_this_qtd(qtd);
1300 BUG_ON(!qtd);
1303 if (qtd)
1304 enqueue_an_INT_packet(usb_hcd, qh, qtd);
1368 struct isp1760_qtd *qtd;
1380 qtd = list_entry(qtd_list->next, struct isp1760_qtd,
1391 prev_qtd->hw_next = qtd;
1404 struct isp1760_qtd *qtd;
1406 qtd = list_entry(entry, struct isp1760_qtd, qtd_list);
1407 list_del(&qtd->qtd_list);
1408 isp1760_qtd_free(qtd);
1415 struct isp1760_qtd *qtd;
1422 qtd = list_entry(qtd_list->next, struct isp1760_qtd, qtd_list);
1448 p(priv_to_hcd(priv), qh, qtd);
1460 struct isp1760_qtd *qtd;
1462 qtd = kmem_cache_zalloc(qtd_cachep, flags);
1463 if (qtd)
1464 INIT_LIST_HEAD(&qtd->qtd_list);
1466 return qtd;
1475 struct isp1760_qtd *qtd, *qtd_prev;
1484 qtd = isp1760_qtd_alloc(priv, flags);
1485 if (!qtd)
1488 list_add_tail(&qtd->qtd_list, head);
1489 qtd->urb = urb;
1499 qtd_fill(qtd, urb->setup_packet,
1505 qtd_prev = qtd;
1506 qtd = isp1760_qtd_alloc(priv, flags);
1507 if (!qtd)
1509 qtd->urb = urb;
1510 qtd_prev->hw_next = qtd;
1511 list_add_tail(&qtd->qtd_list, head);
1544 this_qtd_len = qtd_fill(qtd, buf, len, token);
1548 /* qh makes control packets use qtd toggle; maybe switch it */
1555 qtd_prev = qtd;
1556 qtd = isp1760_qtd_alloc(priv, flags);
1557 if (!qtd)
1559 qtd->urb = urb;
1560 qtd_prev->hw_next = qtd;
1561 list_add_tail(&qtd->qtd_list, head);
1583 qtd_prev = qtd;
1584 qtd = isp1760_qtd_alloc(priv, flags);
1585 if (!qtd)
1587 qtd->urb = urb;
1588 qtd_prev->hw_next = qtd;
1589 list_add_tail(&qtd->qtd_list, head);
1592 qtd_fill(qtd, NULL, 0, token);
1596 qtd->status = URB_COMPLETE_NOTIFY;
1677 struct isp1760_qtd *qtd;
1690 qtd = ints->qtd;
1691 qtd = clean_up_qtdlist(qtd);
1697 ints->qtd = NULL;
1702 if (qtd)
1703 pe(hcd, qh, qtd);
1706 } else if (ints->qtd) {
1707 struct isp1760_qtd *qtd, *prev_qtd = ints->qtd;
1709 for (qtd = ints->qtd->hw_next; qtd; qtd = qtd->hw_next) {
1710 if (qtd->urb == urb) {
1711 prev_qtd->hw_next = clean_up_qtdlist(qtd);
1715 prev_qtd = qtd;
1718 if (qtd)
2123 struct isp1760_qtd *qtd;
2137 qtd = list_first_entry(&qh->qtd_list, struct isp1760_qtd,
2140 if (qtd->status & URB_ENQUEUED) {
2143 isp1760_urb_dequeue(usb_hcd, qtd->urb, -ECONNRESET);
2148 urb = qtd->urb;
2149 clean_up_qtdlist(qtd);