/linux-6.1.9/drivers/usb/dwc2/ |
D | hcd_queue.c | 80 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 …]
|
D | hcd_ddma.c | 45 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 …]
|
D | hcd.h | 133 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 …]
|
D | hcd_intr.c | 74 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 …]
|
D | hcd.c | 407 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/ |
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 | 80 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 …]
|
D | oxu210hp-hcd.c | 294 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 …]
|
D | fotg210-hcd.c | 132 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 …]
|
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 | 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 | 302 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 …]
|
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-6.1.9/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 | 112 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()
|
D | mediatek.c | 301 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()
|
D | musb_io.h | 35 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/ |
D | knav_qmss_queue.c | 57 #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/ |
D | isp1760-hcd.c | 41 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/ |
D | nf_queue.c | 34 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/ |
D | sch_generic.h | 942 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/ |
D | udc.c | 590 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 …]
|
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()
|