Home
last modified time | relevance | path

Searched refs:qh (Results 1 – 25 of 46) sorted by relevance

12

/Linux-v5.4/drivers/usb/dwc2/
Dhcd_queue.c110 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 …]
Dhcd_ddma.c75 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 …]
Dhcd.h162 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 …]
Dhcd_intr.c104 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 …]
Dhcd.c442 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/
Duhci-q.c249 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 …]
Dehci-q.c75 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 …]
Doxu210hp-hcd.c293 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 …]
Dehci-mem.c54 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 …]
Dfotg210-hcd.c131 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 …]
Dehci-sched.c37 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 …]
Duhci-debug.c111 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 …]
Dehci-hcd.c300 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 …]
Dehci-timer.c223 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 …]
Dehci-dbg.c96 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/
Dmusb_host.c176 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 …]
Dmusb_host.h117 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/
Disp1760-hcd.c38 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/
Dknav_qmss_queue.c55 #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/
Ddebug.c36 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()
Dqset.c78 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/
Dsch_generic.h955 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/
Dnf_queue.c34 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/
Dudc.c470 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 …]
Ddebug.c138 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()

12