Lines Matching refs:qtd
139 dbg_qtd(const char *label, struct fotg210_hcd *fotg210, struct fotg210_qtd *qtd) in dbg_qtd() argument
141 fotg210_dbg(fotg210, "%s td %p n%08x %08x t%08x p0=%08x\n", label, qtd, in dbg_qtd()
142 hc32_to_cpup(fotg210, &qtd->hw_next), in dbg_qtd()
143 hc32_to_cpup(fotg210, &qtd->hw_alt_next), in dbg_qtd()
144 hc32_to_cpup(fotg210, &qtd->hw_token), in dbg_qtd()
145 hc32_to_cpup(fotg210, &qtd->hw_buf[0])); in dbg_qtd()
146 if (qtd->hw_buf[1]) in dbg_qtd()
148 hc32_to_cpup(fotg210, &qtd->hw_buf[1]), in dbg_qtd()
149 hc32_to_cpup(fotg210, &qtd->hw_buf[2]), in dbg_qtd()
150 hc32_to_cpup(fotg210, &qtd->hw_buf[3]), in dbg_qtd()
151 hc32_to_cpup(fotg210, &qtd->hw_buf[4])); in dbg_qtd()
582 struct fotg210_qtd *qtd; in fill_periodic_buffer() local
587 list_for_each_entry(qtd, in fill_periodic_buffer()
593 qtd->hw_token) >> 8)) { in fill_periodic_buffer()
1886 struct fotg210_qtd *qtd, dma_addr_t dma) in fotg210_qtd_init() argument
1888 memset(qtd, 0, sizeof(*qtd)); in fotg210_qtd_init()
1889 qtd->qtd_dma = dma; in fotg210_qtd_init()
1890 qtd->hw_token = cpu_to_hc32(fotg210, QTD_STS_HALT); in fotg210_qtd_init()
1891 qtd->hw_next = FOTG210_LIST_END(fotg210); in fotg210_qtd_init()
1892 qtd->hw_alt_next = FOTG210_LIST_END(fotg210); in fotg210_qtd_init()
1893 INIT_LIST_HEAD(&qtd->qtd_list); in fotg210_qtd_init()
1899 struct fotg210_qtd *qtd; in fotg210_qtd_alloc() local
1902 qtd = dma_pool_alloc(fotg210->qtd_pool, flags, &dma); in fotg210_qtd_alloc()
1903 if (qtd != NULL) in fotg210_qtd_alloc()
1904 fotg210_qtd_init(fotg210, qtd, dma); in fotg210_qtd_alloc()
1906 return qtd; in fotg210_qtd_alloc()
1910 struct fotg210_qtd *qtd) in fotg210_qtd_free() argument
1912 dma_pool_free(fotg210->qtd_pool, qtd, qtd->qtd_dma); in fotg210_qtd_free()
2085 qtd_fill(struct fotg210_hcd *fotg210, struct fotg210_qtd *qtd, dma_addr_t buf, in qtd_fill() argument
2092 qtd->hw_buf[0] = cpu_to_hc32(fotg210, (u32)addr); in qtd_fill()
2093 qtd->hw_buf_hi[0] = cpu_to_hc32(fotg210, (u32)(addr >> 32)); in qtd_fill()
2104 qtd->hw_buf[i] = cpu_to_hc32(fotg210, (u32)addr); in qtd_fill()
2105 qtd->hw_buf_hi[i] = cpu_to_hc32(fotg210, in qtd_fill()
2118 qtd->hw_token = cpu_to_hc32(fotg210, (count << 16) | token); in qtd_fill()
2119 qtd->length = count; in qtd_fill()
2128 struct fotg210_qtd *qtd) in qh_update() argument
2135 hw->hw_qtd_next = QTD_NEXT(fotg210, qtd->qtd_dma); in qh_update()
2164 struct fotg210_qtd *qtd; in qh_refresh() local
2167 qtd = qh->dummy; in qh_refresh()
2169 qtd = list_entry(qh->qtd_list.next, in qh_refresh()
2178 if (cpu_to_hc32(fotg210, qtd->qtd_dma) == qh->hw->hw_current) { in qh_refresh()
2179 qh->hw->hw_qtd_next = qtd->hw_next; in qh_refresh()
2180 qtd = NULL; in qh_refresh()
2184 if (qtd) in qh_refresh()
2185 qh_update(fotg210, qh, qtd); in qh_refresh()
2384 struct fotg210_qtd *qtd; in qh_completions() local
2388 qtd = list_entry(entry, struct fotg210_qtd, qtd_list); in qh_completions()
2389 urb = qtd->urb; in qh_completions()
2404 if (qtd == end) in qh_completions()
2409 token = hc32_to_cpu(fotg210, qtd->hw_token); in qh_completions()
2424 qtd, in qh_completions()
2441 qtd->length - QTD_LENGTH(token), qtd->length, qh->xacterrs); in qh_completions()
2451 qtd->hw_token = cpu_to_hc32(fotg210, in qh_completions()
2470 && !(qtd->hw_alt_next in qh_completions()
2496 && cpu_to_hc32(fotg210, qtd->qtd_dma) in qh_completions()
2518 qtd->length, token); in qh_completions()
2520 && (qtd->hw_alt_next in qh_completions()
2547 if (stopped && qtd->qtd_list.prev != &qh->qtd_list) { in qh_completions()
2548 last = list_entry(qtd->qtd_list.prev, in qh_completions()
2550 last->hw_next = qtd->hw_next; in qh_completions()
2554 list_del(&qtd->qtd_list); in qh_completions()
2555 last = qtd; in qh_completions()
2637 struct fotg210_qtd *qtd; in qtd_list_free() local
2639 qtd = list_entry(entry, struct fotg210_qtd, qtd_list); in qtd_list_free()
2640 list_del(&qtd->qtd_list); in qtd_list_free()
2641 fotg210_qtd_free(fotg210, qtd); in qtd_list_free()
2655 struct fotg210_qtd *qtd, *qtd_prev; in qh_urb_transaction() local
2666 qtd = fotg210_qtd_alloc(fotg210, flags); in qh_urb_transaction()
2667 if (unlikely(!qtd)) in qh_urb_transaction()
2669 list_add_tail(&qtd->qtd_list, head); in qh_urb_transaction()
2670 qtd->urb = urb; in qh_urb_transaction()
2680 qtd_fill(fotg210, qtd, urb->setup_dma, in qh_urb_transaction()
2686 qtd_prev = qtd; in qh_urb_transaction()
2687 qtd = fotg210_qtd_alloc(fotg210, flags); in qh_urb_transaction()
2688 if (unlikely(!qtd)) in qh_urb_transaction()
2690 qtd->urb = urb; in qh_urb_transaction()
2691 qtd_prev->hw_next = QTD_NEXT(fotg210, qtd->qtd_dma); in qh_urb_transaction()
2692 list_add_tail(&qtd->qtd_list, head); in qh_urb_transaction()
2731 this_qtd_len = qtd_fill(fotg210, qtd, buf, this_sg_len, token, in qh_urb_transaction()
2743 qtd->hw_alt_next = fotg210->async->hw->hw_alt_next; in qh_urb_transaction()
2757 qtd_prev = qtd; in qh_urb_transaction()
2758 qtd = fotg210_qtd_alloc(fotg210, flags); in qh_urb_transaction()
2759 if (unlikely(!qtd)) in qh_urb_transaction()
2761 qtd->urb = urb; in qh_urb_transaction()
2762 qtd_prev->hw_next = QTD_NEXT(fotg210, qtd->qtd_dma); in qh_urb_transaction()
2763 list_add_tail(&qtd->qtd_list, head); in qh_urb_transaction()
2773 qtd->hw_alt_next = FOTG210_LIST_END(fotg210); in qh_urb_transaction()
2793 qtd_prev = qtd; in qh_urb_transaction()
2794 qtd = fotg210_qtd_alloc(fotg210, flags); in qh_urb_transaction()
2795 if (unlikely(!qtd)) in qh_urb_transaction()
2797 qtd->urb = urb; in qh_urb_transaction()
2798 qtd_prev->hw_next = QTD_NEXT(fotg210, qtd->qtd_dma); in qh_urb_transaction()
2799 list_add_tail(&qtd->qtd_list, head); in qh_urb_transaction()
2802 qtd_fill(fotg210, qtd, 0, 0, token, 0); in qh_urb_transaction()
2808 qtd->hw_token |= cpu_to_hc32(fotg210, QTD_IOC); in qh_urb_transaction()
3093 struct fotg210_qtd *qtd; in qh_append_tds() local
3096 qtd = NULL; in qh_append_tds()
3098 qtd = list_entry(qtd_list->next, struct fotg210_qtd, in qh_append_tds()
3111 if (likely(qtd != NULL)) { in qh_append_tds()
3121 token = qtd->hw_token; in qh_append_tds()
3122 qtd->hw_token = HALT_BIT(fotg210); in qh_append_tds()
3127 *dummy = *qtd; in qh_append_tds()
3130 list_del(&qtd->qtd_list); in qh_append_tds()
3134 fotg210_qtd_init(fotg210, qtd, qtd->qtd_dma); in qh_append_tds()
3135 qh->dummy = qtd; in qh_append_tds()
3138 dma = qtd->qtd_dma; in qh_append_tds()
3139 qtd = list_entry(qh->qtd_list.prev, in qh_append_tds()
3141 qtd->hw_next = QTD_NEXT(fotg210, dma); in qh_append_tds()
3171 struct fotg210_qtd *qtd; in submit_async() local
3172 qtd = list_entry(qtd_list->next, struct fotg210_qtd, qtd_list); in submit_async()
3178 qtd, urb->ep->hcpriv); in submit_async()