Lines Matching refs:ed

153 	struct ed	*ed;
160 /* every endpoint has a ed, locate and maybe (re)initialize it */
161 ed = ed_get(ohci, urb->ep, urb->dev, pipe, urb->interval);
162 if (! ed)
166 switch (ed->type) {
200 urb_priv->ed = ed;
227 /* schedule the ed if needed */
228 if (ed->state == ED_IDLE) {
229 retval = ed_schedule (ohci, ed);
243 list_add(&ed->in_use_list, &ohci->eds_in_use);
245 if (ed->type == PIPE_ISOCHRONOUS) {
249 frame += max_t (u16, 8, ed->interval);
250 frame &= ~(ed->interval - 1);
251 frame |= ed->branch;
253 ed->last_iso = frame + ed->interval * (size - 1);
255 } else if (ed->type == PIPE_ISOCHRONOUS) {
257 u16 frame = ed->last_iso + ed->interval;
258 u16 length = ed->interval * (size - 1);
265 frame += (next - frame + ed->interval - 1) &
266 -ed->interval;
282 ed->interval);
292 ed->last_iso = frame + length;
295 /* fill the TDs and link them to the ed; and
331 if (urb_priv->ed->state == ED_OPER)
332 start_ed_unlink(ohci, urb_priv->ed);
354 struct ed *ed = ep->hcpriv;
360 if (!ed)
368 ed->state = ED_IDLE;
372 switch (ed->state) {
383 if (list_empty (&ed->td_list)) {
384 td_free (ohci, ed->dummy);
385 ed_free (ohci, ed);
391 * that's not our job. can't recover; must leak ed.
393 ohci_err (ohci, "leak ed %p (#%02x) state %d%s\n",
394 ed, ep->desc.bEndpointAddress, ed->state,
395 list_empty (&ed->td_list) ? "" : " (has tds)");
396 td_free (ohci, ed->dummy);
755 struct ed *ed;
785 list_for_each_entry(ed, &ohci->eds_in_use, in_use_list) {
786 if (ed->pending_td) {
788 OKAY_TO_TAKEBACK(ohci, ed)) {
789 unsigned tmp = hc32_to_cpu(ohci, ed->hwINFO);
795 add_to_done_list(ohci, ed->pending_td);
800 td = ed->pending_td;
804 list_for_each_entry(td_next, &ed->td_list, td_list) {
812 head = hc32_to_cpu(ohci, READ_ONCE(ed->hwHeadP)) & TD_MASK;
814 td_next = list_prepare_entry(td, &ed->td_list, td_list);
815 list_for_each_entry_continue(td_next, &ed->td_list, td_list) {
826 ed->takeback_wdh_cnt = ohci->wdh_cnt + 2;
827 ed->pending_td = td;
1047 struct ed *ed = priv->ed;
1049 switch (ed->state) {
1051 ed->state = ED_UNLINK;
1052 ed->hwINFO |= cpu_to_hc32(ohci, ED_DEQUEUE);
1053 ed_deschedule (ohci, ed);
1055 ed->ed_next = ohci->ed_rm_list;
1056 ed->ed_prev = NULL;
1057 ohci->ed_rm_list = ed;
1062 ohci_dbg(ohci, "bogus ed %p state %d\n",
1063 ed, ed->state);
1284 pr_debug ("%s: block sizes: ed %zd td %zd\n", hcd_name,
1285 sizeof (struct ed), sizeof (struct td));