/kernel/linux/linux-5.10/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 …]
|
/kernel/linux/linux-5.10/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 | 79 qh_update (struct ehci_hcd *ehci, struct ehci_qh *qh, struct ehci_qtd *qtd) in qh_update() argument 81 struct ehci_qh_hw *hw = qh->hw; in qh_update() 84 WARN_ON(qh->qh_state != QH_STATE_IDLE); in qh_update() 97 is_out = qh->is_out; in qh_update() 99 if (unlikely(!usb_gettoggle(qh->ps.udev, epnum, is_out))) { in qh_update() 101 usb_settoggle(qh->ps.udev, epnum, is_out, 1); in qh_update() 113 qh_refresh (struct ehci_hcd *ehci, struct ehci_qh *qh) in qh_refresh() argument 117 qtd = list_entry(qh->qtd_list.next, struct ehci_qtd, qtd_list); in qh_refresh() 126 if (qh->hw->hw_token & ACTIVE_BIT(ehci)) { in qh_refresh() 127 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 | 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 | 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-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 | 301 static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 302 static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); 519 ehci->async->qh_next.qh = NULL; in ehci_init() 928 struct ehci_qh *qh; in ehci_urb_dequeue() local 944 qh = (struct ehci_qh *) urb->hcpriv; in ehci_urb_dequeue() 945 qh->unlink_reason |= QH_UNLINK_REQUESTED; in ehci_urb_dequeue() 946 switch (qh->qh_state) { in ehci_urb_dequeue() 949 start_unlink_intr(ehci, qh); in ehci_urb_dequeue() 951 start_unlink_async(ehci, qh); in ehci_urb_dequeue() 954 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 …]
|
/kernel/linux/linux-5.10/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 | 116 static inline struct urb *next_urb(struct musb_qh *qh) in next_urb() argument 120 if (!qh) in next_urb() 122 queue = &qh->hep->urb_list; in next_urb()
|
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);
|
D | mediatek.c | 353 static u16 mtk_musb_get_toggle(struct musb_qh *qh, int is_out) in mtk_musb_get_toggle() argument 355 struct musb *musb = qh->hw_ep->musb; in mtk_musb_get_toggle() 356 u8 epnum = qh->hw_ep->epnum; in mtk_musb_get_toggle() 363 static u16 mtk_musb_set_toggle(struct musb_qh *qh, int is_out, struct urb *urb) in mtk_musb_set_toggle() argument 365 struct musb *musb = qh->hw_ep->musb; in mtk_musb_set_toggle() 366 u8 epnum = qh->hw_ep->epnum; in mtk_musb_set_toggle() 369 toggle = usb_gettoggle(urb->dev, qh->epnum, is_out); in mtk_musb_set_toggle()
|
/kernel/linux/linux-5.10/drivers/usb/isp1760/ |
D | isp1760-hcd.c | 39 typedef void (packet_enqueue)(struct usb_hcd *hcd, struct isp1760_qh *qh, 412 struct isp1760_qh *qh; in qh_alloc() local 414 qh = kmem_cache_zalloc(qh_cachep, flags); in qh_alloc() 415 if (!qh) in qh_alloc() 418 INIT_LIST_HEAD(&qh->qh_list); in qh_alloc() 419 INIT_LIST_HEAD(&qh->qtd_list); in qh_alloc() 420 qh->slot = -1; in qh_alloc() 422 return qh; in qh_alloc() 425 static void qh_free(struct isp1760_qh *qh) in qh_free() argument 427 WARN_ON(!list_empty(&qh->qtd_list)); in qh_free() [all …]
|
/kernel/linux/linux-5.10/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 …]
|
/kernel/linux/linux-5.10/include/net/ |
D | sch_generic.h | 998 static inline void qdisc_skb_head_init(struct qdisc_skb_head *qh) in qdisc_skb_head_init() argument 1000 qh->head = NULL; in qdisc_skb_head_init() 1001 qh->tail = NULL; in qdisc_skb_head_init() 1002 qh->qlen = 0; in qdisc_skb_head_init() 1006 struct qdisc_skb_head *qh) in __qdisc_enqueue_tail() argument 1008 struct sk_buff *last = qh->tail; in __qdisc_enqueue_tail() 1013 qh->tail = skb; in __qdisc_enqueue_tail() 1015 qh->tail = skb; in __qdisc_enqueue_tail() 1016 qh->head = skb; in __qdisc_enqueue_tail() 1018 qh->qlen++; in __qdisc_enqueue_tail() [all …]
|
/kernel/linux/linux-5.10/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() 116 const struct nf_queue_handler *qh; in nf_queue_nf_hook_drop() local 119 qh = rcu_dereference(net->nf.queue_handler); in nf_queue_nf_hook_drop() 120 if (qh) in nf_queue_nf_hook_drop() 121 qh->nf_hook_drop(net); in nf_queue_nf_hook_drop() 159 const struct nf_queue_handler *qh; in __nf_queue() local 165 qh = rcu_dereference(net->nf.queue_handler); in __nf_queue() 166 if (!qh) in __nf_queue() 210 status = qh->outfn(entry, queuenum); in __nf_queue()
|
/kernel/linux/linux-5.10/drivers/usb/chipidea/ |
D | udc.c | 583 if (!list_empty(&hwep->qh.queue)) { in _hardware_enqueue() 590 hwreqprev = list_entry(hwep->qh.queue.prev, in _hardware_enqueue() 609 hwep->qh.ptr->td.next = cpu_to_le32(firstnode->dma); in _hardware_enqueue() 610 hwep->qh.ptr->td.token &= in _hardware_enqueue() 619 hwep->qh.ptr->cap |= cpu_to_le32(mul << __ffs(QH_MULT)); in _hardware_enqueue() 644 hwep->qh.ptr->td.next = cpu_to_le32(node->dma); in reprime_dtd() 645 hwep->qh.ptr->td.token &= in reprime_dtd() 746 while (!list_empty(&hwep->qh.queue)) { in _ep_nuke() 749 struct ci_hw_req *hwreq = list_entry(hwep->qh.queue.next, in _ep_nuke() 790 !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()
|