Home
last modified time | relevance | path

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

12

/linux-6.1.9/drivers/usb/dwc2/
Dhcd_queue.c80 struct dwc2_qh *qh) in dwc2_check_periodic_bandwidth() argument
87 if (qh->dev_speed == USB_SPEED_HIGH || qh->do_split) { in dwc2_check_periodic_bandwidth()
92 max_claimed_usecs = 100 - qh->host_us; in dwc2_check_periodic_bandwidth()
98 max_claimed_usecs = 900 - qh->host_us; in dwc2_check_periodic_bandwidth()
104 __func__, hsotg->periodic_usecs, qh->host_us); in dwc2_check_periodic_bandwidth()
345 struct dwc2_qh *qh) in dwc2_get_ls_map() argument
350 if (WARN_ON(!qh->dwc_tt)) in dwc2_get_ls_map()
354 map = qh->dwc_tt->periodic_bitmaps; in dwc2_get_ls_map()
355 if (qh->dwc_tt->usb_tt->multi) in dwc2_get_ls_map()
356 map += DWC2_ELEMENTS_PER_LS_BITMAP * (qh->ttport - 1); in dwc2_get_ls_map()
[all …]
Dhcd_ddma.c45 static u16 dwc2_max_desc_num(struct dwc2_qh *qh) in dwc2_max_desc_num() argument
47 return (qh->ep_type == USB_ENDPOINT_XFER_ISOC && in dwc2_max_desc_num()
48 qh->dev_speed == USB_SPEED_HIGH) ? in dwc2_max_desc_num()
52 static u16 dwc2_frame_incr_val(struct dwc2_qh *qh) in dwc2_frame_incr_val() argument
54 return qh->dev_speed == USB_SPEED_HIGH ? in dwc2_frame_incr_val()
55 (qh->host_interval + 8 - 1) / 8 : qh->host_interval; in dwc2_frame_incr_val()
58 static int dwc2_desc_list_alloc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, in dwc2_desc_list_alloc() argument
63 if (qh->ep_type == USB_ENDPOINT_XFER_ISOC && in dwc2_desc_list_alloc()
64 qh->dev_speed == USB_SPEED_HIGH) in dwc2_desc_list_alloc()
69 qh->desc_list_sz = sizeof(struct dwc2_dma_desc) * in dwc2_desc_list_alloc()
[all …]
Dhcd.h133 struct dwc2_qh *qh; member
418 struct dwc2_qh *qh; member
539 void dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh);
540 int dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh);
541 void dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh);
542 void dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh,
547 struct dwc2_qh *qh);
552 struct dwc2_qh *qh) in dwc2_hcd_qtd_unlink_and_free() argument
560 struct dwc2_qh *qh);
565 int dwc2_hcd_qh_init_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh,
[all …]
Dhcd_intr.c74 if (!chan->qh) in dwc2_hc_handle_tt_clear()
77 if (chan->qh->dev_speed == USB_SPEED_HIGH) in dwc2_hc_handle_tt_clear()
97 chan->qh->tt_buffer_dirty = 1; in dwc2_hc_handle_tt_clear()
100 chan->qh->tt_buffer_dirty = 0; in dwc2_hc_handle_tt_clear()
113 struct dwc2_qh *qh; in dwc2_sof_intr() local
130 qh = list_entry(qh_entry, struct dwc2_qh, qh_list_entry); in dwc2_sof_intr()
132 if (dwc2_frame_num_le(qh->next_active_frame, in dwc2_sof_intr()
135 qh, hsotg->frame_number, in dwc2_sof_intr()
136 qh->next_active_frame); in dwc2_sof_intr()
142 list_move_tail(&qh->qh_list_entry, in dwc2_sof_intr()
[all …]
Dhcd.c407 struct dwc2_qh *qh; in dwc2_dump_channel_info() local
438 dev_dbg(hsotg->dev, " qh: %p\n", chan->qh); in dwc2_dump_channel_info()
440 list_for_each_entry(qh, &hsotg->non_periodic_sched_inactive, in dwc2_dump_channel_info()
442 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info()
444 list_for_each_entry(qh, &hsotg->non_periodic_sched_waiting, in dwc2_dump_channel_info()
446 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info()
448 list_for_each_entry(qh, &hsotg->non_periodic_sched_active, in dwc2_dump_channel_info()
450 dev_dbg(hsotg->dev, " %p\n", qh); in dwc2_dump_channel_info()
1021 wire_frame = dwc2_frame_num_inc(chan->qh->next_active_frame, 1); in dwc2_hc_set_even_odd_frame()
1033 chan->qh, wire_frame, frame_number, in dwc2_hc_set_even_odd_frame()
[all …]
/linux-6.1.9/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.c80 qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) in qh_update() argument
82 struct ehci_qh_hw *hw = qh->hw; in qh_update()
85 WARN_ON(qh->qh_state != QH_STATE_IDLE); in qh_update()
98 is_out = qh->is_out; in qh_update()
100 if (unlikely(!usb_gettoggle(qh->ps.udev, epnum, is_out))) { in qh_update()
102 usb_settoggle(qh->ps.udev, epnum, is_out, 1); in qh_update()
114 qh_refresh (struct ehci_hcd *ehci, struct ehci_qh *qh) in qh_refresh() argument
118 qtd = list_entry(qh->qtd_list.next, struct ehci_qtd, qtd_list); in qh_refresh()
127 if (qh->hw->hw_token & ACTIVE_BIT(ehci)) { in qh_refresh()
128 qh->hw->hw_qtd_next = qtd->hw_next; in qh_refresh()
[all …]
Doxu210hp-hcd.c294 struct ehci_qh *qh; /* Q_TYPE_QH */ member
1030 static void oxu_qh_free(struct oxu_hcd *oxu, struct ehci_qh *qh) in oxu_qh_free() argument
1036 index = qh - &oxu->mem->qh_pool[0]; in oxu_qh_free()
1044 struct ehci_qh *qh = container_of(kref, struct ehci_qh, kref); in qh_destroy() local
1045 struct oxu_hcd *oxu = qh->oxu; in qh_destroy()
1048 if (!list_empty(&qh->qtd_list) || qh->qh_next.ptr) { in qh_destroy()
1052 if (qh->dummy) in qh_destroy()
1053 oxu_qtd_free(oxu, qh->dummy); in qh_destroy()
1054 oxu_qh_free(oxu, qh); in qh_destroy()
1060 struct ehci_qh *qh = NULL; in oxu_qh_alloc() local
[all …]
Dfotg210-hcd.c132 dbg_qh(const char *label, struct fotg210_hcd *fotg210, struct fotg210_qh *qh) in dbg_qh() argument
134 struct fotg210_qh_hw *hw = qh->hw; in dbg_qh()
136 fotg210_dbg(fotg210, "%s qh %p n%08x info %x %x qtd %x\n", label, qh, in dbg_qh()
354 static void qh_lines(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, in qh_lines() argument
365 struct fotg210_qh_hw *hw = qh->hw; in qh_lines()
383 qh, scratch & 0x007f, in qh_lines()
395 list_for_each_entry(td, &qh->qtd_list, qtd_list) { in qh_lines()
455 struct fotg210_qh *qh; in fill_async_buffer() local
469 for (qh = fotg210->async->qh_next.qh; size > 0 && qh; in fill_async_buffer()
470 qh = qh->qh_next.qh) in fill_async_buffer()
[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 …]
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.c302 static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
303 static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh);
520 ehci->async->qh_next.qh = NULL; in ehci_init()
922 struct ehci_qh *qh; in ehci_urb_dequeue() local
938 qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_dequeue()
939 qh->unlink_reason |= QH_UNLINK_REQUESTED; in ehci_urb_dequeue()
940 switch (qh->qh_state) { in ehci_urb_dequeue()
943 start_unlink_intr(ehci, qh); in ehci_urb_dequeue()
945 start_unlink_async(ehci, qh); in ehci_urb_dequeue()
948 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-6.1.9/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.h112 static inline struct urb *next_urb(struct musb_qh *qh) in next_urb() argument
116 if (!qh) in next_urb()
118 queue = &qh->hep->urb_list; in next_urb()
Dmediatek.c301 static u16 mtk_musb_get_toggle(struct musb_qh *qh, int is_out) in mtk_musb_get_toggle() argument
303 struct musb *musb = qh->hw_ep->musb; in mtk_musb_get_toggle()
304 u8 epnum = qh->hw_ep->epnum; in mtk_musb_get_toggle()
311 static u16 mtk_musb_set_toggle(struct musb_qh *qh, int is_out, struct urb *urb) in mtk_musb_set_toggle() argument
313 struct musb *musb = qh->hw_ep->musb; in mtk_musb_set_toggle()
314 u8 epnum = qh->hw_ep->epnum; in mtk_musb_set_toggle()
317 toggle = usb_gettoggle(urb->dev, qh->epnum, is_out); in mtk_musb_set_toggle()
Dmusb_io.h35 u16 (*get_toggle)(struct musb_qh *qh, int is_out);
36 u16 (*set_toggle)(struct musb_qh *qh, int is_out, struct urb *urb);
/linux-6.1.9/drivers/soc/ti/
Dknav_qmss_queue.c57 #define for_each_handle_rcu(qh, inst) \ argument
58 list_for_each_entry_rcu(qh, &inst->handles, list, \
86 struct knav_queue *qh; in knav_queue_notify() local
92 for_each_handle_rcu(qh, inst) { in knav_queue_notify()
93 if (atomic_read(&qh->notifier_enabled) <= 0) in knav_queue_notify()
95 if (WARN_ON(!qh->notifier_fn)) in knav_queue_notify()
97 this_cpu_inc(qh->stats->notifies); in knav_queue_notify()
98 qh->notifier_fn(qh->notifier_fn_arg); in knav_queue_notify()
218 struct knav_queue *qh; in __knav_queue_open() local
222 qh = devm_kzalloc(inst->kdev->dev, sizeof(*qh), GFP_KERNEL); in __knav_queue_open()
[all …]
/linux-6.1.9/drivers/usb/isp1760/
Disp1760-hcd.c41 typedef void (packet_enqueue)(struct usb_hcd *hcd, struct isp1760_qh *qh,
661 struct isp1760_qh *qh; in qh_alloc() local
663 qh = kmem_cache_zalloc(qh_cachep, flags); in qh_alloc()
664 if (!qh) in qh_alloc()
667 INIT_LIST_HEAD(&qh->qh_list); in qh_alloc()
668 INIT_LIST_HEAD(&qh->qtd_list); in qh_alloc()
669 qh->slot = -1; in qh_alloc()
671 return qh; in qh_alloc()
674 static void qh_free(struct isp1760_qh *qh) in qh_free() argument
676 WARN_ON(!list_empty(&qh->qtd_list)); in qh_free()
[all …]
/linux-6.1.9/net/netfilter/
Dnf_queue.c34 void nf_register_queue_handler(const struct nf_queue_handler *qh) in nf_register_queue_handler() argument
38 rcu_assign_pointer(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(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()
162 const struct nf_queue_handler *qh; in __nf_queue() local
167 qh = rcu_dereference(nf_queue_handler); in __nf_queue()
168 if (!qh) in __nf_queue()
227 status = qh->outfn(entry, queuenum); in __nf_queue()
/linux-6.1.9/include/net/
Dsch_generic.h942 struct qdisc_skb_head *qh) in __qdisc_enqueue_tail() argument
944 struct sk_buff *last = qh->tail; in __qdisc_enqueue_tail()
949 qh->tail = skb; in __qdisc_enqueue_tail()
951 qh->tail = skb; in __qdisc_enqueue_tail()
952 qh->head = skb; in __qdisc_enqueue_tail()
954 qh->qlen++; in __qdisc_enqueue_tail()
965 struct qdisc_skb_head *qh) in __qdisc_enqueue_head() argument
967 skb->next = qh->head; in __qdisc_enqueue_head()
969 if (!qh->head) in __qdisc_enqueue_head()
970 qh->tail = skb; in __qdisc_enqueue_head()
[all …]
/linux-6.1.9/drivers/usb/chipidea/
Dudc.c590 if (!list_empty(&hwep->qh.queue)) { in _hardware_enqueue()
597 hwreqprev = list_entry(hwep->qh.queue.prev, in _hardware_enqueue()
622 hwep->qh.ptr->td.next = cpu_to_le32(firstnode->dma); in _hardware_enqueue()
623 hwep->qh.ptr->td.token &= in _hardware_enqueue()
632 hwep->qh.ptr->cap |= cpu_to_le32(mul << __ffs(QH_MULT)); in _hardware_enqueue()
657 hwep->qh.ptr->td.next = cpu_to_le32(node->dma); in reprime_dtd()
658 hwep->qh.ptr->td.token &= in reprime_dtd()
760 while (!list_empty(&hwep->qh.queue)) { in _ep_nuke()
763 struct ci_hw_req *hwreq = list_entry(hwep->qh.queue.next, in _ep_nuke()
804 !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