Lines Matching refs:td

98 static void uhci_dump_tds(uhci_td_t *td);
140 uhci_td_t *td;
215 uhci_mem_layout_fixup(struct uhci_mem_layout *ml, struct uhci_td *td)
219 if (ml->buf_res.length < td->len) {
225 td->td_buffer = htole32(ml->fix_res.physaddr);
242 if ((td->td_token & htole32(UHCI_TD_PID)) ==
244 td->fix_pc = ml->fix_pc;
248 td->fix_pc = NULL;
253 ml->fix_res.buffer, td->len);
264 td->td_buffer = htole32(ml->buf_res.physaddr);
265 td->fix_pc = NULL;
270 ml->buf_offset += td->len;
436 struct uhci_td *td;
440 td = buf_res.buffer;
442 td->td_self =
446 td->page_cache = pc;
448 return (td);
815 uhci_dump_tds(uhci_td_t *td)
818 td != NULL;
819 td = td->obj_next) {
820 if (uhci_dump_td(td)) {
1013 uhci_td_t *td = xfer->td_transfer_first;
1024 if (td == NULL) {
1034 uhci_dump_td(td);
1037 usb_pc_cpu_invalidate(td->page_cache);
1038 status = le32toh(td->td_status);
1045 if (td->fix_pc) {
1047 usbd_get_page(td->fix_pc, 0, &res);
1051 usb_pc_cpu_invalidate(td->fix_pc);
1061 UHCI_REMOVE_TD(td, *pp_last);
1065 td = td->obj_next;
1075 uhci_td_t *td;
1081 td = xfer->td_transfer_cache;
1082 td_alt_next = td->alt_next;
1089 usb_pc_cpu_invalidate(td->page_cache);
1090 status = le32toh(td->td_status);
1091 token = le32toh(td->td_token);
1099 if (len > td->len) {
1102 "0x%04x/0x%04x bytes\n", len, td->len);
1107 if (td->fix_pc) {
1109 usbd_get_page(td->fix_pc, 0, &res);
1116 usb_pc_cpu_invalidate(td->fix_pc);
1126 if (((void *)td) == xfer->td_transfer_last) {
1127 td = NULL;
1132 td = NULL;
1136 if (len != td->len) {
1139 td = td->alt_next;
1142 td = NULL;
1146 td = td->obj_next;
1148 if (td->alt_next != td_alt_next) {
1156 xfer->td_transfer_cache = td;
1251 uhci_td_t *td;
1257 td = xfer->td_transfer_cache;
1260 td_token = td->obj_next->td_token;
1261 td = td->alt_next;
1262 xfer->td_transfer_cache = td;
1263 td_self = td->td_self;
1264 td_alt_next = td->alt_next;
1269 if (!((td->td_token ^ td_token) & htole32(UHCI_TD_SET_DT(1))))
1277 td->td_token ^= htole32(UHCI_TD_SET_DT(1));
1278 usb_pc_cpu_flush(td->page_cache);
1280 if (td == xfer->td_transfer_last) {
1284 td = td->obj_next;
1286 if (td->alt_next != td_alt_next) {
1312 uhci_td_t *td;
1319 td = xfer->td_transfer_last;
1321 usb_pc_cpu_invalidate(td->page_cache);
1322 status = le32toh(td->td_status);
1326 td = xfer->td_transfer_first;
1328 usb_pc_cpu_invalidate(td->page_cache);
1329 status |= le32toh(td->td_status);
1343 td = xfer->td_transfer_cache;
1346 usb_pc_cpu_invalidate(td->page_cache);
1347 status = le32toh(td->td_status);
1348 token = le32toh(td->td_token);
1355 xfer->td_transfer_cache = td;
1361 if (((void *)td) == xfer->td_transfer_last) {
1374 if ((td->td_next == htole32(UHCI_PTR_T)) ||
1375 (UHCI_TD_GET_ACTLEN(status) < td->len)) {
1379 if (td->alt_next) {
1381 xfer->td_transfer_cache = td;
1389 td = td->obj_next;
1525 uhci_td_t *td;
1553 td = temp->td;
1586 td = td_next;
1587 td_next = td->obj_next;
1601 td->td_status = temp->td_status;
1602 td->td_token = temp->td_token;
1610 td->len = 0;
1611 td->td_buffer = 0;
1612 td->fix_pc = NULL;
1620 td->len = average;
1624 uhci_mem_layout_fixup(&temp->ml, td);
1627 td->alt_next = td_alt_next;
1631 td->td_status |= htole32(UHCI_TD_IOC);
1632 td->td_next = htole32(UHCI_PTR_T);
1636 td->td_next = td_next->td_self;
1640 usb_pc_cpu_flush(td->page_cache);
1659 temp->td = td;
1667 uhci_td_t *td;
1681 td = xfer->td_start[xfer->flags_int.curr_dma_set];
1682 xfer->td_transfer_first = td;
1683 xfer->td_transfer_cache = td;
1685 temp.td = NULL;
1686 temp.td_next = td;
1815 td = temp.td;
1818 td->td_next = htole32(UHCI_PTR_T);
1822 td->td_status |= htole32(UHCI_TD_IOC);
1824 usb_pc_cpu_flush(td->page_cache);
1828 xfer->td_transfer_last = td;
1918 uhci_td_t *td;
1922 td = uhci_setup_standard_chain(xfer);
1927 qh->e_next = td;
1928 qh->qh_e_next = td->td_self;
1976 uhci_td_t *td;
1979 td = uhci_setup_standard_chain(xfer);
1984 qh->e_next = td;
1985 qh->qh_e_next = td->td_self;
2069 uhci_td_t *td;
2072 td = uhci_setup_standard_chain(xfer);
2077 qh->e_next = td;
2078 qh->qh_e_next = td->td_self;
2105 uhci_td_t *td;
2120 for (td = xfer->td_start[ds]; td; td = td->obj_next) {
2123 td->td_status = htole32(UHCI_TD_IOS);
2124 td->td_token = td_token;
2126 usb_pc_cpu_flush(td->page_cache);
2150 uhci_td_t *td;
2200 td = xfer->td_start[xfer->flags_int.curr_dma_set];
2201 xfer->td_transfer_first = td;
2210 if (td == NULL) {
2231 td->td_token &= htole32(~UHCI_TD_MAXLEN_MASK);
2232 td->td_token |= htole32(UHCI_TD_SET_MAXLEN(*plen));
2234 td->len = *plen;
2236 if (td->len == 0) {
2241 td->td_buffer = 0;
2242 td->fix_pc = NULL;
2248 uhci_mem_layout_fixup(&ml, td);
2254 td->td_status = htole32
2261 td->td_status = htole32
2268 usb_pc_cpu_flush(td->page_cache);
2273 uhci_dump_td(td);
2277 UHCI_APPEND_TD(td, *pp_last);
2281 td_last = td;
2282 td = td->obj_next;
2966 uhci_td_t *td;
2970 td = page_info.buffer;
2977 td->td_self = htole32(page_info.physaddr |
2980 td->td_self = htole32(page_info.physaddr |
2984 td->obj_next = last_obj;
2985 td->page_cache = pc + n;
2987 last_obj = td;