Lines Matching defs:qh

301 static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
302 static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
513 * dedicate a qh for the async ring head, since we couldn't unlink
514 * a 'real' qh without stopping the async schedule [4.8]. use it
516 * its dummy is used in hw_alt_next of many tds, to prevent the qh
519 ehci->async->qh_next.qh = NULL;
771 /* complete the unlinking of some qh [4.15.2.3] */
928 struct ehci_qh *qh;
944 qh = (struct ehci_qh *) urb->hcpriv;
945 qh->unlink_reason |= QH_UNLINK_REQUESTED;
946 switch (qh->qh_state) {
949 start_unlink_intr(ehci, qh);
951 start_unlink_async(ehci, qh);
954 qh->dequeue_during_giveback = 1;
962 qh_completions(ehci, qh);
973 // bulk qh holds the data toggle
980 struct ehci_qh *qh;
987 qh = ep->hcpriv;
988 if (!qh)
994 if (qh->hw == NULL) {
1006 qh->unlink_reason |= QH_UNLINK_REQUESTED;
1007 switch (qh->qh_state) {
1009 if (list_empty(&qh->qtd_list))
1010 qh->unlink_reason |= QH_UNLINK_QUEUE_EMPTY;
1014 start_unlink_async(ehci, qh);
1016 start_unlink_intr(ehci, qh);
1026 if (qh->clearing_tt)
1028 if (list_empty (&qh->qtd_list)) {
1029 if (qh->ps.bw_uperiod)
1030 reserve_release_intr_bandwidth(ehci, qh, -1);
1031 qh_destroy(ehci, qh);
1039 ehci_err (ehci, "qh %p (#%02x) state %d%s\n",
1040 qh, ep->desc.bEndpointAddress, qh->qh_state,
1041 list_empty (&qh->qtd_list) ? "" : "(has tds)");
1053 struct ehci_qh *qh;
1063 qh = ep->hcpriv;
1070 if (qh) {
1071 if (!list_empty(&qh->qtd_list)) {
1078 usb_settoggle(qh->ps.udev, epnum, is_out, 0);
1079 qh->unlink_reason |= QH_UNLINK_REQUESTED;
1081 start_unlink_async(ehci, qh);
1083 start_unlink_intr(ehci, qh);
1335 pr_debug("%s: block sizes: qh %zd qtd %zd itd %zd sitd %zd\n",