• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/usb/host/

Lines Matching refs:ed

146 	struct ed	*ed;
157 /* every endpoint has a ed, locate and maybe (re)initialize it */
158 if (! (ed = ed_get (ohci, urb->ep, urb->dev, pipe, urb->interval)))
162 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);
234 if (ed->type == PIPE_ISOCHRONOUS) {
238 frame += max_t (u16, 8, ed->interval);
239 frame &= ~(ed->interval - 1);
240 frame |= ed->branch;
247 } else if (ed->type == PIPE_ISOCHRONOUS)
248 urb->start_frame = ed->last_iso + ed->interval;
250 /* fill the TDs and link them to the ed; and
293 if (urb_priv->ed->state == ED_OPER)
294 start_ed_unlink (ohci, urb_priv->ed);
319 struct ed *ed = ep->hcpriv;
325 if (!ed)
333 ed->state = ED_IDLE;
334 if (quirk_zfmicro(ohci) && ed->type == PIPE_INTERRUPT)
339 switch (ed->state) {
346 ohci->ed_to_check = ed;
355 if (list_empty (&ed->td_list)) {
356 td_free (ohci, ed->dummy);
357 ed_free (ohci, ed);
363 * that's not our job. can't recover; must leak ed.
365 ohci_err (ohci, "leak ed %p (#%02x) state %d%s\n",
366 ed, ep->desc.bEndpointAddress, ed->state,
367 list_empty (&ed->td_list) ? "" : " (has tds)");
368 td_free (ohci, ed->dummy);
406 static int check_ed(struct ohci_hcd *ohci, struct ed *ed)
408 return (hc32_to_cpu(ohci, ed->hwINFO) & ED_IN) != 0
409 && (hc32_to_cpu(ohci, ed->hwHeadP) & TD_MASK)
410 == (hc32_to_cpu(ohci, ed->hwTailP) & TD_MASK)
411 && !list_empty(&ed->td_list);
425 struct ed **seen = NULL;
441 struct ed *ed = ohci->periodic[i];
443 while (ed) {
448 if (seen[temp] == ed) {
450 ed = NULL;
454 if (!ed)
456 seen[seen_count++] = ed;
457 if (!check_ed(ohci, ed)) {
458 ed = ed->ed_next;
465 ohci->ed_to_check = ed;
840 struct ed *ed = ohci->ed_to_check;
842 if (check_ed(ohci, ed)) {
848 ed->td_list.next,
937 struct ed *ed = priv->ed;
939 switch (ed->state) {
941 ed->state = ED_UNLINK;
942 ed->hwINFO |= cpu_to_hc32(ohci, ED_DEQUEUE);
943 ed_deschedule (ohci, ed);
945 ed->ed_next = ohci->ed_rm_list;
946 ed->ed_prev = NULL;
947 ohci->ed_rm_list = ed;
952 ohci_dbg(ohci, "bogus ed %p state %d\n",
953 ed, ed->state);
1114 pr_debug ("%s: block sizes: ed %Zd td %Zd\n", hcd_name,
1115 sizeof (struct ed), sizeof (struct td));