Lines Matching refs:ed
153 struct ed *ed; in ohci_urb_enqueue() local
161 ed = ed_get(ohci, urb->ep, urb->dev, pipe, urb->interval); in ohci_urb_enqueue()
162 if (! ed) in ohci_urb_enqueue()
166 switch (ed->type) { in ohci_urb_enqueue()
200 urb_priv->ed = ed; in ohci_urb_enqueue()
228 if (ed->state == ED_IDLE) { in ohci_urb_enqueue()
229 retval = ed_schedule (ohci, ed); in ohci_urb_enqueue()
243 list_add(&ed->in_use_list, &ohci->eds_in_use); in ohci_urb_enqueue()
245 if (ed->type == PIPE_ISOCHRONOUS) { in ohci_urb_enqueue()
249 frame += max_t (u16, 8, ed->interval); in ohci_urb_enqueue()
250 frame &= ~(ed->interval - 1); in ohci_urb_enqueue()
251 frame |= ed->branch; in ohci_urb_enqueue()
253 ed->last_iso = frame + ed->interval * (size - 1); in ohci_urb_enqueue()
255 } else if (ed->type == PIPE_ISOCHRONOUS) { in ohci_urb_enqueue()
257 u16 frame = ed->last_iso + ed->interval; in ohci_urb_enqueue()
258 u16 length = ed->interval * (size - 1); in ohci_urb_enqueue()
265 frame += (next - frame + ed->interval - 1) & in ohci_urb_enqueue()
266 -ed->interval; in ohci_urb_enqueue()
282 ed->interval); in ohci_urb_enqueue()
292 ed->last_iso = frame + length; in ohci_urb_enqueue()
331 if (urb_priv->ed->state == ED_OPER) in ohci_urb_dequeue()
332 start_ed_unlink(ohci, urb_priv->ed); in ohci_urb_dequeue()
354 struct ed *ed = ep->hcpriv; in ohci_endpoint_disable() local
360 if (!ed) in ohci_endpoint_disable()
368 ed->state = ED_IDLE; in ohci_endpoint_disable()
372 switch (ed->state) { in ohci_endpoint_disable()
383 if (list_empty (&ed->td_list)) { in ohci_endpoint_disable()
384 td_free (ohci, ed->dummy); in ohci_endpoint_disable()
385 ed_free (ohci, ed); in ohci_endpoint_disable()
394 ed, ep->desc.bEndpointAddress, ed->state, in ohci_endpoint_disable()
395 list_empty (&ed->td_list) ? "" : " (has tds)"); in ohci_endpoint_disable()
396 td_free (ohci, ed->dummy); in ohci_endpoint_disable()
755 struct ed *ed; in io_watchdog_func() local
785 list_for_each_entry(ed, &ohci->eds_in_use, in_use_list) { in io_watchdog_func()
786 if (ed->pending_td) { in io_watchdog_func()
788 OKAY_TO_TAKEBACK(ohci, ed)) { in io_watchdog_func()
789 unsigned tmp = hc32_to_cpu(ohci, ed->hwINFO); in io_watchdog_func()
795 add_to_done_list(ohci, ed->pending_td); in io_watchdog_func()
800 td = ed->pending_td; in io_watchdog_func()
804 list_for_each_entry(td_next, &ed->td_list, td_list) { in io_watchdog_func()
812 head = hc32_to_cpu(ohci, READ_ONCE(ed->hwHeadP)) & TD_MASK; in io_watchdog_func()
814 td_next = list_prepare_entry(td, &ed->td_list, td_list); in io_watchdog_func()
815 list_for_each_entry_continue(td_next, &ed->td_list, td_list) { in io_watchdog_func()
826 ed->takeback_wdh_cnt = ohci->wdh_cnt + 2; in io_watchdog_func()
827 ed->pending_td = td; in io_watchdog_func()
1047 struct ed *ed = priv->ed; in ohci_restart() local
1049 switch (ed->state) { in ohci_restart()
1051 ed->state = ED_UNLINK; in ohci_restart()
1052 ed->hwINFO |= cpu_to_hc32(ohci, ED_DEQUEUE); in ohci_restart()
1053 ed_deschedule (ohci, ed); in ohci_restart()
1055 ed->ed_next = ohci->ed_rm_list; in ohci_restart()
1056 ed->ed_prev = NULL; in ohci_restart()
1057 ohci->ed_rm_list = ed; in ohci_restart()
1063 ed, ed->state); in ohci_restart()
1283 sizeof (struct ed), sizeof (struct td)); in ohci_hcd_mod_init()