/Linux-v5.4/drivers/usb/dwc2/ |
D | hcd_queue.c | 110 struct dwc2_qh *qh) in dwc2_check_periodic_bandwidth() argument 117 if (qh->dev_speed == USB_SPEED_HIGH || qh->do_split) { in dwc2_check_periodic_bandwidth() 122 max_claimed_usecs = 100 - qh->host_us; in dwc2_check_periodic_bandwidth() 128 max_claimed_usecs = 900 - qh->host_us; in dwc2_check_periodic_bandwidth() 134 __func__, hsotg->periodic_usecs, qh->host_us); in dwc2_check_periodic_bandwidth() 375 struct dwc2_qh *qh) in dwc2_get_ls_map() argument 380 if (WARN_ON(!qh->dwc_tt)) in dwc2_get_ls_map() 384 map = qh->dwc_tt->periodic_bitmaps; in dwc2_get_ls_map() 385 if (qh->dwc_tt->usb_tt->multi) in dwc2_get_ls_map() 386 map += DWC2_ELEMENTS_PER_LS_BITMAP * (qh->ttport - 1); in dwc2_get_ls_map() [all …]
|
D | hcd_ddma.c | 75 static u16 dwc2_max_desc_num(struct dwc2_qh *qh) in dwc2_max_desc_num() argument 77 return (qh->ep_type == USB_ENDPOINT_XFER_ISOC && in dwc2_max_desc_num() 78 qh->dev_speed == USB_SPEED_HIGH) ? in dwc2_max_desc_num() 82 static u16 dwc2_frame_incr_val(struct dwc2_qh *qh) in dwc2_frame_incr_val() argument 84 return qh->dev_speed == USB_SPEED_HIGH ? in dwc2_frame_incr_val() 85 (qh->host_interval + 8 - 1) / 8 : qh->host_interval; in dwc2_frame_incr_val() 88 static int dwc2_desc_list_alloc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, in dwc2_desc_list_alloc() argument 93 if (qh->ep_type == USB_ENDPOINT_XFER_ISOC && in dwc2_desc_list_alloc() 94 qh->dev_speed == USB_SPEED_HIGH) in dwc2_desc_list_alloc() 99 qh->desc_list_sz = sizeof(struct dwc2_dma_desc) * in dwc2_desc_list_alloc() [all …]
|
D | hcd.h | 162 struct dwc2_qh *qh; member 447 struct dwc2_qh *qh; member 568 void dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 569 int dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 570 void dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh); 571 void dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, 576 struct dwc2_qh *qh); 581 struct dwc2_qh *qh) in dwc2_hcd_qtd_unlink_and_free() argument 589 struct dwc2_qh *qh); 594 int dwc2_hcd_qh_init_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, [all …]
|
D | hcd_intr.c | 104 if (!chan->qh) in dwc2_hc_handle_tt_clear() 107 if (chan->qh->dev_speed == USB_SPEED_HIGH) in dwc2_hc_handle_tt_clear() 127 chan->qh->tt_buffer_dirty = 1; in dwc2_hc_handle_tt_clear() 130 chan->qh->tt_buffer_dirty = 0; in dwc2_hc_handle_tt_clear() 143 struct dwc2_qh *qh; in dwc2_sof_intr() local 160 qh = list_entry(qh_entry, struct dwc2_qh, qh_list_entry); in dwc2_sof_intr() 162 if (dwc2_frame_num_le(qh->next_active_frame, in dwc2_sof_intr() 165 qh, hsotg->frame_number, in dwc2_sof_intr() 166 qh->next_active_frame); in dwc2_sof_intr() 172 list_move_tail(&qh->qh_list_entry, in dwc2_sof_intr() [all …]
|
D | hcd.c | 442 struct dwc2_qh *qh; in dwc2_dump_channel_info() local 473 dev_dbg(hsotg->dev, " qh: %p\n", chan->qh); in dwc2_dump_channel_info() 475 list_for_each_entry(qh, &hsotg->non_periodic_sched_inactive, in dwc2_dump_channel_info() 477 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info() 479 list_for_each_entry(qh, &hsotg->non_periodic_sched_waiting, in dwc2_dump_channel_info() 481 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info() 483 list_for_each_entry(qh, &hsotg->non_periodic_sched_active, in dwc2_dump_channel_info() 485 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info() 1056 wire_frame = dwc2_frame_num_inc(chan->qh->next_active_frame, 1); in dwc2_hc_set_even_odd_frame() 1068 chan->qh, wire_frame, frame_number, in dwc2_hc_set_even_odd_frame() [all …]
|
/Linux-v5.4/drivers/usb/host/ |
D | uhci-q.c | 249 struct uhci_qh *qh; in uhci_alloc_qh() local 251 qh = dma_pool_zalloc(uhci->qh_pool, GFP_ATOMIC, &dma_handle); in uhci_alloc_qh() 252 if (!qh) in uhci_alloc_qh() 255 qh->dma_handle = dma_handle; in uhci_alloc_qh() 257 qh->element = UHCI_PTR_TERM(uhci); in uhci_alloc_qh() 258 qh->link = UHCI_PTR_TERM(uhci); in uhci_alloc_qh() 260 INIT_LIST_HEAD(&qh->queue); in uhci_alloc_qh() 261 INIT_LIST_HEAD(&qh->node); in uhci_alloc_qh() 264 qh->type = usb_endpoint_type(&hep->desc); in uhci_alloc_qh() 265 if (qh->type != USB_ENDPOINT_XFER_ISOC) { in uhci_alloc_qh() [all …]
|
D | ehci-q.c | 75 qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) in qh_update() argument 77 struct ehci_qh_hw *hw = qh->hw; in qh_update() 80 WARN_ON(qh->qh_state != QH_STATE_IDLE); in qh_update() 93 is_out = qh->is_out; in qh_update() 95 if (unlikely(!usb_gettoggle(qh->ps.udev, epnum, is_out))) { in qh_update() 97 usb_settoggle(qh->ps.udev, epnum, is_out, 1); in qh_update() 109 qh_refresh (struct ehci_hcd *ehci, struct ehci_qh *qh) in qh_refresh() argument 113 qtd = list_entry(qh->qtd_list.next, struct ehci_qtd, qtd_list); in qh_refresh() 122 if (qh->hw->hw_token & ACTIVE_BIT(ehci)) { in qh_refresh() 123 qh->hw->hw_qtd_next = qtd->hw_next; in qh_refresh() [all …]
|
D | oxu210hp-hcd.c | 293 struct ehci_qh *qh; /* Q_TYPE_QH */ member 1031 static void oxu_qh_free(struct oxu_hcd *oxu, struct ehci_qh *qh) in oxu_qh_free() argument 1037 index = qh - &oxu->mem->qh_pool[0]; in oxu_qh_free() 1045 struct ehci_qh *qh = container_of(kref, struct ehci_qh, kref); in qh_destroy() local 1046 struct oxu_hcd *oxu = qh->oxu; in qh_destroy() 1049 if (!list_empty(&qh->qtd_list) || qh->qh_next.ptr) { in qh_destroy() 1053 if (qh->dummy) in qh_destroy() 1054 oxu_qtd_free(oxu, qh->dummy); in qh_destroy() 1055 oxu_qh_free(oxu, qh); in qh_destroy() 1061 struct ehci_qh *qh = NULL; in oxu_qh_alloc() local [all …]
|
D | ehci-mem.c | 54 static void qh_destroy(struct ehci_hcd *ehci, struct ehci_qh *qh) in qh_destroy() argument 57 if (!list_empty (&qh->qtd_list) || qh->qh_next.ptr) { in qh_destroy() 61 if (qh->dummy) in qh_destroy() 62 ehci_qtd_free (ehci, qh->dummy); in qh_destroy() 63 dma_pool_free(ehci->qh_pool, qh->hw, qh->qh_dma); in qh_destroy() 64 kfree(qh); in qh_destroy() 69 struct ehci_qh *qh; in ehci_qh_alloc() local 72 qh = kzalloc(sizeof *qh, GFP_ATOMIC); in ehci_qh_alloc() 73 if (!qh) in ehci_qh_alloc() 75 qh->hw = (struct ehci_qh_hw *) in ehci_qh_alloc() [all …]
|
D | fotg210-hcd.c | 131 dbg_qh(const char *label, struct fotg210_hcd *fotg210, struct fotg210_qh *qh) in dbg_qh() argument 133 struct fotg210_qh_hw *hw = qh->hw; in dbg_qh() 135 fotg210_dbg(fotg210, "%s qh %p n%08x info %x %x qtd %x\n", label, qh, in dbg_qh() 353 static void qh_lines(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, in qh_lines() argument 364 struct fotg210_qh_hw *hw = qh->hw; in qh_lines() 382 qh, scratch & 0x007f, in qh_lines() 394 list_for_each_entry(td, &qh->qtd_list, qtd_list) { in qh_lines() 454 struct fotg210_qh *qh; in fill_async_buffer() local 468 for (qh = fotg210->async->qh_next.qh; size > 0 && qh; in fill_async_buffer() 469 qh = qh->qh_next.qh) in fill_async_buffer() [all …]
|
D | ehci-sched.c | 37 return &periodic->qh->qh_next; in periodic_next_shadow() 55 return &periodic->qh->hw->hw_next; in shadow_next_periodic() 207 struct ehci_qh *qh, int sign) in reserve_release_intr_bandwidth() argument 211 int usecs = qh->ps.usecs; in reserve_release_intr_bandwidth() 212 int c_usecs = qh->ps.c_usecs; in reserve_release_intr_bandwidth() 213 int tt_usecs = qh->ps.tt_usecs; in reserve_release_intr_bandwidth() 216 if (qh->ps.phase == NO_FRAME) /* Bandwidth wasn't reserved */ in reserve_release_intr_bandwidth() 218 start_uf = qh->ps.bw_phase << 3; in reserve_release_intr_bandwidth() 220 bandwidth_dbg(ehci, sign, "intr", &qh->ps); in reserve_release_intr_bandwidth() 229 for (i = start_uf + qh->ps.phase_uf; i < EHCI_BANDWIDTH_SIZE; in reserve_release_intr_bandwidth() [all …]
|
D | uhci-debug.c | 111 out += sprintf(out, "qh [%p] ", urbp->qh); in uhci_show_urbp() 128 (urbp->qh->type == USB_ENDPOINT_XFER_CONTROL ? in uhci_show_urbp() 140 if (urbp->qh->type != USB_ENDPOINT_XFER_ISOC && in uhci_show_urbp() 166 struct uhci_qh *qh, char *buf, int len, int space) in uhci_show_qh() argument 170 __hc32 element = qh_element(qh); in uhci_show_qh() 173 switch (qh->type) { in uhci_show_qh() 182 space, "", qh, qtype, in uhci_show_qh() 183 hc32_to_cpu(uhci, qh->link), in uhci_show_qh() 185 if (qh->type == USB_ENDPOINT_XFER_ISOC) in uhci_show_qh() 188 space, "", qh->period, qh->phase, qh->load, in uhci_show_qh() [all …]
|
D | ehci-hcd.c | 300 static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 301 static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 518 ehci->async->qh_next.qh = NULL; in ehci_init() 896 struct ehci_qh *qh; in ehci_urb_dequeue() local 912 qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_dequeue() 913 qh->unlink_reason |= QH_UNLINK_REQUESTED; in ehci_urb_dequeue() 914 switch (qh->qh_state) { in ehci_urb_dequeue() 917 start_unlink_intr(ehci, qh); in ehci_urb_dequeue() 919 start_unlink_async(ehci, qh); in ehci_urb_dequeue() 922 qh->dequeue_during_giveback = 1; in ehci_urb_dequeue() [all …]
|
D | ehci-timer.c | 223 struct ehci_qh *qh; in ehci_handle_start_intr_unlinks() local 225 qh = list_first_entry(&ehci->intr_unlink_wait, in ehci_handle_start_intr_unlinks() 227 if (!stopped && (qh->unlink_cycle == in ehci_handle_start_intr_unlinks() 230 list_del_init(&qh->unlink_node); in ehci_handle_start_intr_unlinks() 231 qh->unlink_reason |= QH_UNLINK_QUEUE_EMPTY; in ehci_handle_start_intr_unlinks() 232 start_unlink_intr(ehci, qh); in ehci_handle_start_intr_unlinks() 256 struct ehci_qh *qh; in ehci_handle_intr_unlinks() local 258 qh = list_first_entry(&ehci->intr_unlink, struct ehci_qh, in ehci_handle_intr_unlinks() 260 if (!stopped && qh->unlink_cycle == ehci->intr_unlink_cycle) in ehci_handle_intr_unlinks() 262 list_del_init(&qh->unlink_node); in ehci_handle_intr_unlinks() [all …]
|
D | ehci-dbg.c | 96 dbg_qh(const char *label, struct ehci_hcd *ehci, struct ehci_qh *qh) in dbg_qh() argument 98 struct ehci_qh_hw *hw = qh->hw; in dbg_qh() 101 qh, hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current); in dbg_qh() 370 static void qh_lines(struct ehci_hcd *ehci, struct ehci_qh *qh, in qh_lines() argument 382 struct ehci_qh_hw *hw = qh->hw; in qh_lines() 401 qh, scratch & 0x007f, in qh_lines() 416 list_for_each(entry, &qh->qtd_list) { in qh_lines() 477 struct ehci_qh *qh; in fill_async_buffer() local 492 for (qh = ehci->async->qh_next.qh; size > 0 && qh; qh = qh->qh_next.qh) in fill_async_buffer() 493 qh_lines(ehci, qh, &next, &size); in fill_async_buffer() [all …]
|
/Linux-v5.4/drivers/usb/musb/ |
D | musb_host.c | 176 static void musb_ep_set_qh(struct musb_hw_ep *ep, int is_in, struct musb_qh *qh) in musb_ep_set_qh() argument 179 ep->in_qh = qh; in musb_ep_set_qh() 181 ep->out_qh = qh; in musb_ep_set_qh() 196 musb_start_urb(struct musb *musb, int is_in, struct musb_qh *qh) in musb_start_urb() argument 200 struct urb *urb = next_urb(qh); in musb_start_urb() 203 struct musb_hw_ep *hw_ep = qh->hw_ep; in musb_start_urb() 207 qh->offset = 0; in musb_start_urb() 208 qh->segsize = 0; in musb_start_urb() 211 switch (qh->type) { in musb_start_urb() 220 qh->iso_idx = 0; in musb_start_urb() [all …]
|
D | musb_host.h | 117 static inline struct urb *next_urb(struct musb_qh *qh) in next_urb() argument 121 if (!qh) in next_urb() 123 queue = &qh->hep->urb_list; in next_urb()
|
/Linux-v5.4/drivers/usb/isp1760/ |
D | isp1760-hcd.c | 38 typedef void (packet_enqueue)(struct usb_hcd *hcd, struct isp1760_qh *qh, 414 struct isp1760_qh *qh; in qh_alloc() local 416 qh = kmem_cache_zalloc(qh_cachep, flags); in qh_alloc() 417 if (!qh) in qh_alloc() 420 INIT_LIST_HEAD(&qh->qh_list); in qh_alloc() 421 INIT_LIST_HEAD(&qh->qtd_list); in qh_alloc() 422 qh->slot = -1; in qh_alloc() 424 return qh; in qh_alloc() 427 static void qh_free(struct isp1760_qh *qh) in qh_free() argument 429 WARN_ON(!list_empty(&qh->qtd_list)); in qh_free() [all …]
|
/Linux-v5.4/drivers/soc/ti/ |
D | knav_qmss_queue.c | 55 #define for_each_handle_rcu(qh, inst) \ argument 56 list_for_each_entry_rcu(qh, &inst->handles, list) 83 struct knav_queue *qh; in knav_queue_notify() local 89 for_each_handle_rcu(qh, inst) { in knav_queue_notify() 90 if (atomic_read(&qh->notifier_enabled) <= 0) in knav_queue_notify() 92 if (WARN_ON(!qh->notifier_fn)) in knav_queue_notify() 94 this_cpu_inc(qh->stats->notifies); in knav_queue_notify() 95 qh->notifier_fn(qh->notifier_fn_arg); in knav_queue_notify() 215 struct knav_queue *qh; in __knav_queue_open() local 219 qh = devm_kzalloc(inst->kdev->dev, sizeof(*qh), GFP_KERNEL); in __knav_queue_open() [all …]
|
/Linux-v5.4/drivers/staging/wusbcore/host/whci/ |
D | debug.c | 36 qset->qh.info1 & 0x0f, in qset_print() 37 (qset->qh.info1 >> 4) & 0x1 ? "in" : "out", in qset_print() 38 qh_type[(qset->qh.info1 >> 5) & 0x7], in qset_print() 39 (qset->qh.info1 >> 16) & 0xffff); in qset_print() 41 seq_printf(s, " -> %08x\n", (u32)qset->qh.link); in qset_print() 43 qset->qh.info1, qset->qh.info2, qset->qh.info3); in qset_print() 45 qset->qh.status, qset->qh.err_count, qset->qh.cur_window); in qset_print() 47 qset->qh.overlay.qtd.status, qset->qh.overlay.qtd.options); in qset_print()
|
D | qset.c | 78 qset->qh.info1 = cpu_to_le32( in qset_fill_qh() 85 qset->qh.info2 = cpu_to_le32( in qset_fill_qh() 96 qset->qh.info3 = cpu_to_le32( in qset_fill_qh() 101 qset->qh.cur_window = cpu_to_le32((1 << qset->max_burst) - 1); in qset_fill_qh() 115 qset->qh.link = cpu_to_le64(QH_LINK_NTDS(8) | QH_LINK_T); in qset_clear() 116 qset->qh.status = qset->qh.status & QH_STATUS_SEQ_MASK; in qset_clear() 117 qset->qh.err_count = 0; in qset_clear() 118 qset->qh.scratch[0] = 0; in qset_clear() 119 qset->qh.scratch[1] = 0; in qset_clear() 120 qset->qh.scratch[2] = 0; in qset_clear() [all …]
|
/Linux-v5.4/include/net/ |
D | sch_generic.h | 955 static inline void qdisc_skb_head_init(struct qdisc_skb_head *qh) in qdisc_skb_head_init() argument 957 qh->head = NULL; in qdisc_skb_head_init() 958 qh->tail = NULL; in qdisc_skb_head_init() 959 qh->qlen = 0; in qdisc_skb_head_init() 963 struct qdisc_skb_head *qh) in __qdisc_enqueue_tail() argument 965 struct sk_buff *last = qh->tail; in __qdisc_enqueue_tail() 970 qh->tail = skb; in __qdisc_enqueue_tail() 972 qh->tail = skb; in __qdisc_enqueue_tail() 973 qh->head = skb; in __qdisc_enqueue_tail() 975 qh->qlen++; in __qdisc_enqueue_tail() [all …]
|
/Linux-v5.4/net/netfilter/ |
D | nf_queue.c | 34 void nf_register_queue_handler(struct net *net, const struct nf_queue_handler *qh) in nf_register_queue_handler() argument 38 rcu_assign_pointer(net->nf.queue_handler, qh); in nf_register_queue_handler() 119 const struct nf_queue_handler *qh; in nf_queue_nf_hook_drop() local 122 qh = rcu_dereference(net->nf.queue_handler); in nf_queue_nf_hook_drop() 123 if (qh) in nf_queue_nf_hook_drop() 124 qh->nf_hook_drop(net); in nf_queue_nf_hook_drop() 163 const struct nf_queue_handler *qh; in __nf_queue() local 168 qh = rcu_dereference(net->nf.queue_handler); in __nf_queue() 169 if (!qh) { in __nf_queue() 215 status = qh->outfn(entry, queuenum); in __nf_queue()
|
/Linux-v5.4/drivers/usb/chipidea/ |
D | udc.c | 470 if (!list_empty(&hwep->qh.queue)) { in _hardware_enqueue() 477 hwreqprev = list_entry(hwep->qh.queue.prev, in _hardware_enqueue() 496 hwep->qh.ptr->td.next = cpu_to_le32(firstnode->dma); in _hardware_enqueue() 497 hwep->qh.ptr->td.token &= in _hardware_enqueue() 506 hwep->qh.ptr->cap |= cpu_to_le32(mul << __ffs(QH_MULT)); in _hardware_enqueue() 531 hwep->qh.ptr->td.next = cpu_to_le32(node->dma); in reprime_dtd() 532 hwep->qh.ptr->td.token &= in reprime_dtd() 633 while (!list_empty(&hwep->qh.queue)) { in _ep_nuke() 636 struct ci_hw_req *hwreq = list_entry(hwep->qh.queue.next, in _ep_nuke() 677 !list_empty(&hwep->qh.queue) && in _ep_set_halt() [all …]
|
D | debug.c | 138 i, (u32)hweprx->qh.dma, (u32)hweptx->qh.dma); in ci_qheads_show() 141 *((u32 *)hweprx->qh.ptr + j), in ci_qheads_show() 142 *((u32 *)hweptx->qh.ptr + j)); in ci_qheads_show() 168 list_for_each_entry(req, &ci->ci_hw_ep[i].qh.queue, queue) { in ci_requests_show()
|