Lines Matching refs:td
23 static void init_td(struct td *td)
25 memset(td, 0, sizeof(*td));
26 INIT_LIST_HEAD(&td->node);
27 INIT_LIST_HEAD(&td->frame_lh);
37 static struct td *get_empty_td(struct fhci_hcd *fhci)
39 struct td *td;
42 td = list_entry(fhci->empty_tds.next, struct td, node);
45 td = kmalloc(sizeof(*td), GFP_ATOMIC);
46 if (!td)
49 init_td(td);
52 return td;
55 void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td)
57 init_td(td);
58 list_add(&td->node, &fhci->empty_tds);
85 struct td *fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb,
90 struct td *td = get_empty_td(fhci);
92 if (!td)
95 td->urb = urb;
96 td->ed = ed;
97 td->type = type;
98 td->toggle = toggle;
99 td->data = data;
100 td->len = len;
101 td->iso_index = index;
102 td->interval = interval;
103 td->start_frame = start_frame;
104 td->ioc = ioc;
105 td->status = USB_TD_OK;
107 urb_priv->tds[index] = td;
109 return td;