• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/usb/host/

Lines Matching refs:qh

119 #define EHCI_SHRINK_JIFFIES	(HZ/200)	/* async qh unlink delay */
233 static int ehci_optimized(struct ehci_hcd *ehci, struct ehci_qh *qh)
237 if (ehci->ehci_pipes[p] == qh)
337 struct ehci_qh *qh = 0;
385 qh = qh_append_tds (ehci, urb, &qtdc->cache, epnum, &ep->hcpriv);
389 if (likely (qh != 0)) {
390 if (likely (qh->qh_state == QH_STATE_IDLE))
391 qh_link_async (ehci, qh_get (qh));
672 * dedicate a qh for the async ring head, since we couldn't unlink
673 * a 'real' qh without stopping the async schedule [4.8]. use it
675 * its dummy is used in hw_alt_next of many tds, to prevent the qh
678 ehci->async->qh_next.qh = NULL;
845 /* complete the unlinking of some qh [4.15.2.3] */
954 static void unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh)
957 if (qh->qh_state == QH_STATE_LINKED
966 qh->qh_state = QH_STATE_UNLINK_WAIT;
967 last->reclaim = qh;
973 /* something else might have unlinked the qh by now */
974 if (qh->qh_state == QH_STATE_LINKED)
975 start_unlink_async (ehci, qh);
985 struct ehci_qh *qh;
1001 qh = (struct ehci_qh *) urb->hcpriv;
1002 if (!qh)
1004 unlink_async (ehci, qh);
1008 qh = (struct ehci_qh *) urb->hcpriv;
1009 if (!qh)
1011 switch (qh->qh_state) {
1013 intr_deschedule (ehci, qh);
1016 qh_completions (ehci, qh);
1019 ehci_dbg (ehci, "bogus qh %p state %d\n",
1020 qh, qh->qh_state);
1025 if (!list_empty (&qh->qtd_list)
1029 status = qh_schedule (ehci, qh);
1034 err ("can't reschedule qh %p, err %d",
1035 qh, status);
1055 // bulk qh holds the data toggle
1062 struct ehci_qh *qh, *tmp;
1069 qh = ep->hcpriv;
1070 if (!qh)
1076 if (qh->hw_info1 == 0) {
1082 qh->qh_state = QH_STATE_IDLE;
1083 switch (qh->qh_state) {
1085 for (tmp = ehci->async->qh_next.qh;
1086 tmp && tmp != qh;
1087 tmp = tmp->qh_next.qh)
1089 /* periodic qh self-unlinks on empty */
1092 unlink_async (ehci, qh);
1100 if (list_empty (&qh->qtd_list)) {
1101 qh_put (qh);
1110 ehci_err (ehci, "qh %p (#%02x) state %d%s\n",
1111 qh, ep->desc.bEndpointAddress, qh->qh_state,
1112 list_empty (&qh->qtd_list) ? "" : "(has tds)");
1165 pr_debug("%s: block sizes: qh %Zd qtd %Zd itd %Zd sitd %Zd\n",