Lines Matching refs:td
27 static void init_td(struct td *td) in init_td() argument
29 memset(td, 0, sizeof(*td)); in init_td()
30 INIT_LIST_HEAD(&td->node); in init_td()
31 INIT_LIST_HEAD(&td->frame_lh); in init_td()
41 static struct td *get_empty_td(struct fhci_hcd *fhci) in get_empty_td()
43 struct td *td; in get_empty_td() local
46 td = list_entry(fhci->empty_tds.next, struct td, node); in get_empty_td()
49 td = kmalloc(sizeof(*td), GFP_ATOMIC); in get_empty_td()
50 if (!td) in get_empty_td()
53 init_td(td); in get_empty_td()
56 return td; in get_empty_td()
59 void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td) in fhci_recycle_empty_td() argument
61 init_td(td); in fhci_recycle_empty_td()
62 list_add(&td->node, &fhci->empty_tds); in fhci_recycle_empty_td()
89 struct td *fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb, in fhci_td_fill()
94 struct td *td = get_empty_td(fhci); in fhci_td_fill() local
96 if (!td) in fhci_td_fill()
99 td->urb = urb; in fhci_td_fill()
100 td->ed = ed; in fhci_td_fill()
101 td->type = type; in fhci_td_fill()
102 td->toggle = toggle; in fhci_td_fill()
103 td->data = data; in fhci_td_fill()
104 td->len = len; in fhci_td_fill()
105 td->iso_index = index; in fhci_td_fill()
106 td->interval = interval; in fhci_td_fill()
107 td->start_frame = start_frame; in fhci_td_fill()
108 td->ioc = ioc; in fhci_td_fill()
109 td->status = USB_TD_OK; in fhci_td_fill()
111 urb_priv->tds[index] = td; in fhci_td_fill()
113 return td; in fhci_td_fill()