/drivers/usb/dwc2/ |
H A D | hcd_queue.c | 60 * @qh: The QH to init 65 static void dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, argument 74 qh->ep_type = dwc2_hcd_get_pipe_type(&urb->pipe_info); 75 qh->ep_is_in = dwc2_hcd_is_pipe_in(&urb->pipe_info) ? 1 : 0; 77 qh->data_toggle = DWC2_HC_PID_DATA0; 78 qh->maxp = dwc2_hcd_get_mps(&urb->pipe_info); 79 INIT_LIST_HEAD(&qh->qtd_list); 80 INIT_LIST_HEAD(&qh->qh_list_entry); 93 qh->do_split = 1; 96 if (qh 198 struct dwc2_qh *qh; local 230 dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 286 dwc2_check_periodic_bandwidth(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 336 dwc2_find_single_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 355 dwc2_find_multi_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 411 dwc2_find_uframe(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 438 dwc2_check_max_xfer_size(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 468 dwc2_schedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 541 dwc2_deschedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 572 dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 612 dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 642 dwc2_sched_periodic_split(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 frame_number, int sched_next_periodic_split) argument 687 dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int sched_next_periodic_split) argument 776 dwc2_hcd_qtd_add(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh **qh, gfp_t mem_flags) argument [all...] |
H A D | hcd_ddma.c | 74 static u16 dwc2_max_desc_num(struct dwc2_qh *qh) argument 76 return (qh->ep_type == USB_ENDPOINT_XFER_ISOC && 77 qh->dev_speed == USB_SPEED_HIGH) ? 81 static u16 dwc2_frame_incr_val(struct dwc2_qh *qh) argument 83 return qh->dev_speed == USB_SPEED_HIGH ? 84 (qh->interval + 8 - 1) / 8 : qh->interval; 87 static int dwc2_desc_list_alloc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, argument 90 qh->desc_list = dma_alloc_coherent(hsotg->dev, 92 dwc2_max_desc_num(qh), 113 dwc2_desc_list_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 214 dwc2_update_frame_list(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int enable) argument 269 dwc2_release_channel_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 315 dwc2_hcd_qh_init_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, gfp_t mem_flags) argument 361 dwc2_hcd_qh_free_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 384 dwc2_frame_to_desc_idx(struct dwc2_qh *qh, u16 frame_idx) argument 397 dwc2_calc_starting_frame(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 *skip_frames) argument 456 dwc2_recalc_initial_desc_idx(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 507 dwc2_fill_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u32 max_xfer_size, u16 idx) argument 537 dwc2_init_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 skip_frames) argument 616 dwc2_fill_host_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, int n_desc) argument 662 dwc2_init_non_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 753 dwc2_hcd_start_xfer_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 798 dwc2_cmpl_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u16 idx) argument 866 struct dwc2_qh *qh; local 1021 struct dwc2_qh *qh = chan->qh; local 1086 struct dwc2_qh *qh = chan->qh; local 1158 struct dwc2_qh *qh = chan->qh; local [all...] |
H A D | hcd.h | 107 * @qh: QH for the transfer being processed by this channel 159 struct dwc2_qh *qh; member in struct:dwc2_host_chan 320 * @qh: Queue head for this QTD 348 struct dwc2_qh *qh; member in struct:dwc2_qtd 471 extern void dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 472 extern int dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 473 extern void dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 474 extern void dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, 479 struct dwc2_qh **qh, gfp_t mem_flags); 484 struct dwc2_qh *qh) 482 dwc2_hcd_qtd_unlink_and_free(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh) argument 508 dbg_qh(struct dwc2_qh *qh) argument 518 dbg_qh(struct dwc2_qh *qh) argument 627 struct dwc2_qh *qh = ep->hcpriv; local 638 struct dwc2_qh *qh = ep->hcpriv; local [all...] |
H A D | hcd.c | 73 struct dwc2_qh *qh; local 104 dev_dbg(hsotg->dev, " qh: %p\n", chan->qh); 106 list_for_each_entry(qh, &hsotg->non_periodic_sched_inactive, 108 dev_dbg(hsotg->dev, " %p\n", qh); 110 list_for_each_entry(qh, &hsotg->non_periodic_sched_active, 112 dev_dbg(hsotg->dev, " %p\n", qh); 131 struct dwc2_qh *qh, *qh_tmp; local 134 list_for_each_entry_safe(qh, qh_tmp, qh_list, qh_list_entry) { 135 list_for_each_entry_safe(qtd, qtd_tmp, &qh 147 struct dwc2_qh *qh, *qh_tmp; local 420 struct dwc2_qh *qh; local 479 struct dwc2_qh *qh; local 532 struct dwc2_qh *qh = ep->hcpriv; local 699 dwc2_hc_setup_align_buf(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, struct dwc2_host_chan *chan, struct dwc2_hcd_urb *urb, void *bufptr) argument 754 dwc2_assign_and_init_hc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) argument 895 struct dwc2_qh *qh; local 1050 struct dwc2_qh *qh; local 1190 struct dwc2_qh *qh; local 2637 struct dwc2_qh *qh; local [all...] |
H A D | hcd_intr.c | 92 if (!chan->qh) 95 if (chan->qh->dev_speed == USB_SPEED_HIGH) 106 chan->qh->tt_buffer_dirty = 1; 109 chan->qh->tt_buffer_dirty = 0; 122 struct dwc2_qh *qh; local 136 qh = list_entry(qh_entry, struct dwc2_qh, qh_list_entry); 138 if (dwc2_frame_num_le(qh->sched_frame, hsotg->frame_number)) 143 list_move(&qh->qh_list_entry, 417 } else if (chan->qh->do_split) { 468 memcpy(urb->buf + urb->actual_length, chan->qh 629 dwc2_deactivate_qh(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int free_qtd) argument [all...] |
/drivers/usb/host/ |
H A D | uhci-q.c | 249 struct uhci_qh *qh; local 251 qh = dma_pool_alloc(uhci->qh_pool, GFP_ATOMIC, &dma_handle); 252 if (!qh) 255 memset(qh, 0, sizeof(*qh)); 256 qh->dma_handle = dma_handle; 258 qh->element = UHCI_PTR_TERM(uhci); 259 qh->link = UHCI_PTR_TERM(uhci); 261 INIT_LIST_HEAD(&qh->queue); 262 INIT_LIST_HEAD(&qh 293 uhci_free_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 297 dev_WARN(uhci_dev(uhci), "qh %p list not empty!\\n", qh); local 315 uhci_cleanup_queue(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb *urb) argument 373 uhci_fixup_toggles(struct uhci_hcd *uhci, struct uhci_qh *qh, int skip_first) argument 425 link_iso(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 436 link_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 452 link_async(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 481 uhci_activate_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 522 unlink_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 534 unlink_async(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 552 uhci_unlink_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 587 uhci_make_qh_idle(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 624 uhci_check_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 660 uhci_reserve_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 693 uhci_release_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 790 uhci_submit_control(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) argument 916 uhci_submit_common(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) argument 1057 uhci_submit_bulk(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) argument 1074 uhci_submit_interrupt(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) argument 1123 uhci_fixup_short_transfer(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb_priv *urbp) argument 1174 struct uhci_qh *qh = urbp->qh; local 1255 uhci_submit_isochronous(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) argument 1374 struct uhci_qh *qh = urbp->qh; local 1416 struct uhci_qh *qh; local 1486 struct uhci_qh *qh; local 1576 uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 1669 uhci_advance_check(struct uhci_hcd *uhci, struct uhci_qh *qh) argument 1745 struct uhci_qh *qh; local [all...] |
H A D | ehci-q.c | 26 * Control, bulk, and interrupt traffic all use "qh" lists. They list "qtd" 37 * (b) special fields in qh entries or (c) split iso entries. TTs will 88 qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) argument 90 struct ehci_qh_hw *hw = qh->hw; 93 WARN_ON(qh->qh_state != QH_STATE_IDLE); 106 is_out = qh->is_out; 108 if (unlikely(!usb_gettoggle(qh->ps.udev, epnum, is_out))) { 110 usb_settoggle(qh->ps.udev, epnum, is_out, 1); 117 /* if it weren't for a common silicon quirk (writing the dummy into the qh 118 * overlay, so qh 122 qh_refresh(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 149 struct ehci_qh *qh = ep->hcpriv; local 160 ehci_clear_tt_buffer(struct ehci_hcd *ehci, struct ehci_qh *qh, struct urb *urb, u32 token) argument 287 qh_completions(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 763 struct ehci_qh *qh = ehci_qh_alloc (ehci, flags); local 976 qh_link_async(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 1023 struct ehci_qh *qh = NULL; local 1105 struct ehci_qh *qh = NULL; local 1256 single_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 1303 struct ehci_qh *qh; local 1377 struct ehci_qh *qh; local 1407 struct ehci_qh *qh; local 1420 start_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 1434 struct ehci_qh *qh; local [all...] |
H A D | ehci-mem.c | 67 static void qh_destroy(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 70 if (!list_empty (&qh->qtd_list) || qh->qh_next.ptr) { 71 ehci_dbg (ehci, "unused qh not empty!\n"); 74 if (qh->dummy) 75 ehci_qtd_free (ehci, qh->dummy); 76 dma_pool_free(ehci->qh_pool, qh->hw, qh->qh_dma); 77 kfree(qh); 82 struct ehci_qh *qh; local [all...] |
H A D | oxu210hp-hcd.c | 606 static void oxu_qh_free(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 612 index = qh - &oxu->mem->qh_pool[0]; 620 struct ehci_qh *qh = container_of(kref, struct ehci_qh, kref); local 621 struct oxu_hcd *oxu = qh->oxu; 624 if (!list_empty(&qh->qtd_list) || qh->qh_next.ptr) { 625 oxu_dbg(oxu, "unused qh not empty!\n"); 628 if (qh->dummy) 629 oxu_qtd_free(oxu, qh->dummy); 630 oxu_qh_free(oxu, qh); 636 struct ehci_qh *qh = NULL; local 671 qh_get(struct ehci_qh *qh) argument 677 qh_put(struct ehci_qh *qh) argument 820 qh_update(struct oxu_hcd *oxu, struct ehci_qh *qh, struct ehci_qtd *qtd) argument 854 qh_refresh(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 929 struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; variable in typeref:struct:ehci_qh 937 qh_put(qh); variable 982 qh_completions(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 1363 struct ehci_qh *qh = oxu_qh_alloc(oxu); local 1496 qh_link_async(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 1546 struct ehci_qh *qh = NULL; local 1623 struct ehci_qh *qh = NULL; local 1665 struct ehci_qh *qh = oxu->reclaim; local 1705 start_unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 1759 struct ehci_qh *qh; local 1933 qh_link_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 1998 qh_unlink_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 2041 intr_deschedule(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 2106 check_intr_schedule(struct oxu_hcd *oxu, unsigned frame, unsigned uframe, const struct ehci_qh *qh, __le32 *c_maskp) argument 2130 qh_schedule(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 2198 struct ehci_qh *qh; local 2412 unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) argument 2954 struct ehci_qh *qh; local 3016 struct ehci_qh *qh, *tmp; local [all...] |
H A D | fotg210-hcd.c | 155 dbg_qh(const char *label, struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 157 struct fotg210_qh_hw *hw = qh->hw; 159 fotg210_dbg(fotg210, "%s qh %p n%08x info %x %x qtd %x\n", label, 160 qh, hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current); 378 struct fotg210_qh *qh, 391 struct fotg210_qh_hw *hw = qh->hw; 397 if (mark == '/') { /* qh_alt_next controls qh advance? */ 408 "qh/%p dev%d %cs ep%d %08x %08x(%08x%c %s nak%d)", 409 qh, scratch & 0x007f, 421 list_for_each_entry(td, &qh 376 qh_lines( struct fotg210_hcd *fotg210, struct fotg210_qh *qh, char **nextp, unsigned *sizep ) argument 480 struct fotg210_qh *qh; local 1257 struct fotg210_qh *qh = fotg210->intr_unlink; local 1916 qh_destroy(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 1932 struct fotg210_qh *qh; local 2127 qh_update(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct fotg210_qtd *qtd) argument 2162 qh_refresh(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 2196 struct fotg210_qh *qh = ep->hcpriv; local 2207 fotg210_clear_tt_buffer(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct urb *urb, u32 token) argument 2302 struct fotg210_qh *qh = (struct fotg210_qh *) urb->hcpriv; variable in typeref:struct:fotg210_qh 2346 qh_completions(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 2840 struct fotg210_qh *qh = fotg210_qh_alloc(fotg210, flags); local 3037 qh_link_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3083 struct fotg210_qh *qh = NULL; local 3164 struct fotg210_qh *qh = NULL; local 3212 single_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3271 struct fotg210_qh *qh; local 3302 struct fotg210_qh *qh, *next; local 3337 start_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3359 struct fotg210_qh *qh; local 3643 qh_link_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3709 qh_unlink_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3759 start_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3802 end_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 3879 check_intr_schedule( struct fotg210_hcd *fotg210, unsigned frame, unsigned uframe, const struct fotg210_qh *qh, __hc32 *c_maskp ) argument 3928 qh_schedule(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) argument 4003 struct fotg210_qh *qh; local 4053 struct fotg210_qh *qh; local 5543 struct fotg210_qh *qh; local 5615 struct fotg210_qh *qh, *tmp; local 5687 struct fotg210_qh *qh; local [all...] |
H A D | fusbh200-hcd.c | 154 dbg_qh (const char *label, struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 156 struct fusbh200_qh_hw *hw = qh->hw; 158 fusbh200_dbg (fusbh200, "%s qh %p n%08x info %x %x qtd %x\n", label, 159 qh, hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current); 366 struct fusbh200_qh *qh, 379 struct fusbh200_qh_hw *hw = qh->hw; 385 if (mark == '/') { /* qh_alt_next controls qh advance? */ 396 "qh/%p dev%d %cs ep%d %08x %08x (%08x%c %s nak%d)", 397 qh, scratch & 0x007f, 409 list_for_each_entry(td, &qh 364 qh_lines( struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh, char **nextp, unsigned *sizep ) argument 460 struct fusbh200_qh *qh; local 1219 struct fusbh200_qh *qh = fusbh200->intr_unlink; local 1867 qh_destroy(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 1882 struct fusbh200_qh *qh; local 2081 qh_update(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh, struct fusbh200_qtd *qtd) argument 2115 qh_refresh(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 2149 struct fusbh200_qh *qh = ep->hcpriv; local 2160 fusbh200_clear_tt_buffer(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh, struct urb *urb, u32 token) argument 2255 struct fusbh200_qh *qh = (struct fusbh200_qh *) urb->hcpriv; variable in typeref:struct:fusbh200_qh 2299 qh_completions(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 2789 struct fusbh200_qh *qh = fusbh200_qh_alloc (fusbh200, flags); local 2985 qh_link_async(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3031 struct fusbh200_qh *qh = NULL; local 3113 struct fusbh200_qh *qh = NULL; local 3161 single_unlink_async(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3218 struct fusbh200_qh *qh; local 3249 struct fusbh200_qh *qh, *next; local 3283 start_unlink_async(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3304 struct fusbh200_qh *qh; local 3585 qh_link_periodic(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3651 qh_unlink_periodic(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3699 start_unlink_intr(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3740 end_unlink_intr(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3815 check_intr_schedule( struct fusbh200_hcd *fusbh200, unsigned frame, unsigned uframe, const struct fusbh200_qh *qh, __hc32 *c_maskp ) argument 3864 qh_schedule(struct fusbh200_hcd *fusbh200, struct fusbh200_qh *qh) argument 3938 struct fusbh200_qh *qh; local 3987 struct fusbh200_qh *qh; local 5452 struct fusbh200_qh *qh; local 5524 struct fusbh200_qh *qh, *tmp; local 5596 struct fusbh200_qh *qh; local [all...] |
H A D | ehci-sched.c | 41 * @periodic: host pointer to qh/itd/sitd 50 return &periodic->qh->qh_next; 66 /* our ehci_shadow.qh is actually software part */ 68 return &periodic->qh->hw->hw_next; 219 struct ehci_qh *qh, int sign) 223 int usecs = qh->ps.usecs; 224 int c_usecs = qh->ps.c_usecs; 225 int tt_usecs = qh->ps.tt_usecs; 228 if (qh->ps.phase == NO_FRAME) /* Bandwidth wasn't reserved */ 230 start_uf = qh 218 reserve_release_intr_bandwidth(struct ehci_hcd *ehci, struct ehci_qh *qh, int sign) argument 545 qh_link_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 612 qh_unlink_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 659 cancel_unlink_wait_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 673 start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 712 start_unlink_intr_wait(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 728 end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 792 check_intr_schedule( struct ehci_hcd *ehci, unsigned frame, unsigned uframe, struct ehci_qh *qh, unsigned *c_maskp, struct ehci_tt *tt ) argument 860 qh_schedule(struct ehci_hcd *ehci, struct ehci_qh *qh) argument 936 struct ehci_qh *qh; local 994 struct ehci_qh *qh; local [all...] |
H A D | uhci-debug.c | 110 out += sprintf(out, "qh [%p] ", urbp->qh); 127 (urbp->qh->type == USB_ENDPOINT_XFER_CONTROL ? 139 if (urbp->qh->type != USB_ENDPOINT_XFER_ISOC && 165 struct uhci_qh *qh, char *buf, int len, int space) 169 __hc32 element = qh_element(qh); 172 switch (qh->type) { 181 space, "", qh, qtype, 182 hc32_to_cpu(uhci, qh->link), 184 if (qh 164 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) argument 377 struct uhci_qh *qh; local 643 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) argument [all...] |
H A D | isp1760-hcd.c | 391 struct isp1760_qh *qh; local 393 qh = kmem_cache_zalloc(qh_cachep, flags); 394 if (!qh) 397 INIT_LIST_HEAD(&qh->qh_list); 398 INIT_LIST_HEAD(&qh->qtd_list); 399 qh->slot = -1; 401 return qh; 404 static void qh_free(struct isp1760_qh *qh) argument 406 WARN_ON(!list_empty(&qh->qtd_list)); 407 WARN_ON(qh 541 last_qtd_of_urb(struct isp1760_qtd *qtd, struct isp1760_qh *qh) argument 561 create_ptd_atl(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) argument 636 transform_add_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) argument 688 create_ptd_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) argument 745 start_bus_transfer(struct usb_hcd *hcd, u32 ptd_offset, int slot, struct slotinfo *slots, struct isp1760_qtd *qtd, struct isp1760_qh *qh, struct ptd *ptd) argument 793 collect_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh, struct list_head *urb_list) argument 856 enqueue_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh) argument 938 struct isp1760_qh *qh, *qh_next; local 1097 struct isp1760_qh *qh; local 1523 struct isp1760_qh *qh, *qhit; local 1605 kill_transfer(struct usb_hcd *hcd, struct urb *urb, struct isp1760_qh *qh) argument 1636 dequeue_urb_from_qtd(struct usb_hcd *hcd, struct isp1760_qh *qh, struct isp1760_qtd *qtd) argument 1672 struct isp1760_qh *qh; local 1707 struct isp1760_qh *qh, *qh_iter; local 2150 struct isp1760_qh *qh = ep->hcpriv; local [all...] |
H A D | ehci-timer.c | 232 struct ehci_qh *qh; local 234 qh = list_first_entry(&ehci->intr_unlink_wait, 236 if (!stopped && (qh->unlink_cycle == 239 list_del_init(&qh->unlink_node); 240 start_unlink_intr(ehci, qh); 264 struct ehci_qh *qh; local 266 qh = list_first_entry(&ehci->intr_unlink, struct ehci_qh, 268 if (!stopped && qh->unlink_cycle == ehci->intr_unlink_cycle) 270 list_del_init(&qh->unlink_node); 271 end_unlink_intr(ehci, qh); [all...] |
H A D | ehci-hcd.c | 312 static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 313 static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 510 * dedicate a qh for the async ring head, since we couldn't unlink 511 * a 'real' qh without stopping the async schedule [4.8]. use it 513 * its dummy is used in hw_alt_next of many tds, to prevent the qh 516 ehci->async->qh_next.qh = NULL; 732 /* complete the unlinking of some qh [4.15.2.3] */ 889 struct ehci_qh *qh; local 905 qh = (struct ehci_qh *) urb->hcpriv; 906 qh 941 struct ehci_qh *qh; local 1011 struct ehci_qh *qh; local [all...] |
H A D | ehci-dbg.c | 123 dbg_qh (const char *label, struct ehci_hcd *ehci, struct ehci_qh *qh) argument 125 struct ehci_qh_hw *hw = qh->hw; 127 ehci_dbg (ehci, "%s qh %p n%08x info %x %x qtd %x\n", label, 128 qh, hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current); 285 dbg_qh (char *label, struct ehci_hcd *ehci, struct ehci_qh *qh) argument 408 struct ehci_qh *qh, 422 struct ehci_qh_hw *hw = qh->hw; 428 if (mark == '/') { /* qh_alt_next controls qh advance? */ 439 "qh/%p dev%d %cs ep%d %08x %08x (%08x%c %s nak%d)", 440 qh, scratc 406 qh_lines( struct ehci_hcd *ehci, struct ehci_qh *qh, char **nextp, unsigned *sizep ) argument 504 struct ehci_qh *qh; local [all...] |
H A D | isp1760-hcd.h | 108 struct isp1760_qh *qh; member in struct:slotinfo 114 typedef void (packet_enqueue)(struct usb_hcd *hcd, struct isp1760_qh *qh,
|
/drivers/usb/musb/ |
H A D | musb_host.c | 189 static void musb_ep_set_qh(struct musb_hw_ep *ep, int is_in, struct musb_qh *qh) argument 192 ep->in_qh = qh; 194 ep->out_qh = qh; 209 musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh) argument 214 struct urb *urb = next_urb(qh); 217 struct musb_hw_ep *hw_ep = qh->hw_ep; 222 /* initialize software qh state */ 223 qh->offset = 0; 224 qh->segsize = 0; 227 switch (qh 323 musb_save_toggle(struct musb_qh *qh, int is_in, struct urb *urb) argument 352 struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in); local 467 struct musb_qh *qh = hw_ep->in_qh; local 558 musb_rx_reinit(struct musb *musb, struct musb_qh *qh, struct musb_hw_ep *ep) argument 620 musb_tx_dma_program(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, u32 offset, u32 length) argument 706 struct musb_qh *qh = musb_ep_get_qh(hw_ep, !is_out); local 1014 struct musb_qh *qh = hw_ep->in_qh; local 1092 struct musb_qh *qh = hw_ep->in_qh; local 1234 struct musb_qh *qh = hw_ep->out_qh; local 1550 struct musb_qh *qh = hw_ep->in_qh; local 1956 musb_schedule( struct musb *musb, struct musb_qh *qh, int is_in) argument 2080 struct musb_qh *qh; local 2261 musb_cleanup_urb(struct urb *urb, struct musb_qh *qh) argument 2322 struct musb_qh *qh; local 2384 struct musb_qh *qh; local [all...] |
H A D | musb_host.h | 48 u8 mux; /* qh multiplexed to hw_ep */ 70 /* map from control or bulk queue head to the first qh on that ring */ 139 static inline struct urb *next_urb(struct musb_qh *qh) argument 143 if (!qh) 145 queue = &qh->hep->urb_list;
|
/drivers/usb/host/whci/ |
H A D | debug.c | 47 qset->qh.info1 & 0x0f, 48 (qset->qh.info1 >> 4) & 0x1 ? "in" : "out", 49 qh_type[(qset->qh.info1 >> 5) & 0x7], 50 (qset->qh.info1 >> 16) & 0xffff); 52 seq_printf(s, " -> %08x\n", (u32)qset->qh.link); 54 qset->qh.info1, qset->qh.info2, qset->qh.info3); 56 qset->qh.status, qset->qh [all...] |
H A D | qset.c | 90 qset->qh.info1 = cpu_to_le32( 97 qset->qh.info2 = cpu_to_le32( 108 qset->qh.info3 = cpu_to_le32( 113 qset->qh.cur_window = cpu_to_le32((1 << qset->max_burst) - 1); 127 qset->qh.link = cpu_to_le64(QH_LINK_NTDS(8) | QH_LINK_T); 128 qset->qh.status = qset->qh.status & QH_STATUS_SEQ_MASK; 129 qset->qh.err_count = 0; 130 qset->qh.scratch[0] = 0; 131 qset->qh [all...] |
/drivers/soc/ti/ |
H A D | knav_qmss_queue.c | 63 #define for_each_handle_rcu(qh, inst) \ 64 list_for_each_entry_rcu(qh, &inst->handles, list) 78 struct knav_queue *qh; local 84 for_each_handle_rcu(qh, inst) { 85 if (atomic_read(&qh->notifier_enabled) <= 0) 87 if (WARN_ON(!qh->notifier_fn)) 89 atomic_inc(&qh->stats.notifies); 90 qh->notifier_fn(qh->notifier_fn_arg); 212 struct knav_queue *qh; local 248 struct knav_queue *qh; local 278 struct knav_queue *qh = ERR_PTR(-EINVAL); local 307 knav_queue_enable_notifier(struct knav_queue *qh) argument 328 knav_queue_disable_notifier(struct knav_queue *qh) argument 344 knav_queue_set_notifier(struct knav_queue *qh, struct knav_queue_notify_config *cfg) argument 405 struct knav_queue *qh = qhandle; local 416 struct knav_queue *qh; local 487 knav_queue_flush(struct knav_queue *qh) argument 514 struct knav_queue *qh = ERR_PTR(-EINVAL); local 537 struct knav_queue *qh = qhandle; local 568 struct knav_queue *qh = qhandle; local 620 struct knav_queue *qh = qhandle; local 639 struct knav_queue *qh = qhandle; local [all...] |
/drivers/usb/chipidea/ |
H A D | udc.c | 465 if (!list_empty(&hwep->qh.queue)) { 472 hwreqprev = list_entry(hwep->qh.queue.prev, 491 hwep->qh.ptr->td.next = cpu_to_le32(firstnode->dma); 492 hwep->qh.ptr->td.token &= 501 hwep->qh.ptr->cap |= mul << __ffs(QH_MULT); 612 while (!list_empty(&hwep->qh.queue)) { 615 struct ci_hw_req *hwreq = list_entry(hwep->qh.queue.next, 757 if (!list_empty(&hwep->qh.queue)) { 786 list_add_tail(&hwreq->queue, &hwep->qh.queue); 914 list_for_each_entry_safe(hwreq, hwreqtemp, &hwep->qh [all...] |
H A D | debug.c | 137 i, (u32)hweprx->qh.dma, (u32)hweptx->qh.dma); 140 *((u32 *)hweprx->qh.ptr + j), 141 *((u32 *)hweptx->qh.ptr + j)); 179 list_for_each(ptr, &ci->ci_hw_ep[i].qh.queue) {
|