/kernel/linux/linux-5.10/drivers/usb/dwc2/ |
H A D | hcd_queue.c | 102 * @qh: QH containing periodic bandwidth required 110 struct dwc2_qh *qh) in dwc2_check_periodic_bandwidth() 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() 362 * dwc2_get_ls_map() - Get the map used for the given qh 365 * @qh: QH for the periodic transfer. 370 * add logic here to get a map out of "hsotg" if !qh 109 dwc2_check_periodic_bandwidth(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_check_periodic_bandwidth() argument 374 dwc2_get_ls_map(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_get_ls_map() argument 493 struct dwc2_qh *qh; global() member 515 dwc2_qh_schedule_print(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_qh_schedule_print() argument 565 dwc2_qh_schedule_print(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_qh_schedule_print() argument 584 dwc2_ls_pmap_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int search_slice) dwc2_ls_pmap_schedule() argument 623 dwc2_ls_pmap_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_ls_pmap_unschedule() argument 658 dwc2_hs_pmap_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, bool only_one_period, int index) dwc2_hs_pmap_schedule() argument 684 dwc2_hs_pmap_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int index) dwc2_hs_pmap_unschedule() argument 708 dwc2_uframe_schedule_split(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_split() argument 990 dwc2_uframe_schedule_hs(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_hs() argument 1013 dwc2_uframe_schedule_ls(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_ls() argument 1033 dwc2_uframe_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule() argument 1058 dwc2_uframe_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_unschedule() argument 1086 dwc2_pick_first_frame(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_pick_first_frame() argument 1201 dwc2_do_reserve(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_do_reserve() argument 1247 dwc2_do_unreserve(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_do_unreserve() argument 1284 struct dwc2_qh *qh = from_timer(qh, t, unreserve_timer); dwc2_unreserve_timer_fn() local 1328 dwc2_check_max_xfer_size(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_check_max_xfer_size() argument 1358 dwc2_schedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_schedule_periodic() argument 1417 dwc2_deschedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_deschedule_periodic() argument 1472 struct dwc2_qh *qh = container_of(t, struct dwc2_qh, wait_timer); dwc2_wait_timer_fn() local 1508 dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, struct dwc2_hcd_urb *urb, gfp_t mem_flags) dwc2_qh_init() argument 1649 struct dwc2_qh *qh; dwc2_hcd_qh_create() local 1681 dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_free() argument 1721 dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_add() argument 1773 dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_unlink() argument 1823 dwc2_next_for_periodic_split(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 frame_number) dwc2_next_for_periodic_split() argument 1886 dwc2_next_periodic_start(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 frame_number) dwc2_next_periodic_start() argument 1977 dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int sched_next_periodic_split) dwc2_hcd_qh_deactivate() argument 2078 dwc2_hcd_qtd_add(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh) dwc2_hcd_qtd_add() argument [all...] |
H A 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 in dwc2_desc_list_alloc() 123 dwc2_desc_list_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_desc_list_free() argument 230 dwc2_update_frame_list(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int enable) dwc2_update_frame_list() argument 294 dwc2_release_channel_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_release_channel_ddma() argument 342 dwc2_hcd_qh_init_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, gfp_t mem_flags) dwc2_hcd_qh_init_ddma() argument 388 dwc2_hcd_qh_free_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_free_ddma() argument 415 dwc2_frame_to_desc_idx(struct dwc2_qh *qh, u16 frame_idx) dwc2_frame_to_desc_idx() argument 428 dwc2_calc_starting_frame(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 *skip_frames) dwc2_calc_starting_frame() argument 490 dwc2_recalc_initial_desc_idx(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_recalc_initial_desc_idx() argument 541 dwc2_fill_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u32 max_xfer_size, u16 idx) dwc2_fill_host_isoc_dma_desc() argument 580 dwc2_init_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 skip_frames) dwc2_init_isoc_dma_desc() argument 689 dwc2_fill_host_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, int n_desc) dwc2_fill_host_dma_desc() argument 741 dwc2_init_non_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_init_non_isoc_dma_desc() argument 847 dwc2_hcd_start_xfer_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_start_xfer_ddma() argument 892 dwc2_cmpl_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u16 idx) dwc2_cmpl_host_isoc_dma_desc() argument 967 struct dwc2_qh *qh; dwc2_complete_isoc_xfer_ddma() local 1156 struct dwc2_qh *qh = chan->qh; dwc2_process_non_isoc_desc() local 1227 struct dwc2_qh *qh = chan->qh; dwc2_complete_non_isoc_xfer_ddma() local 1303 struct dwc2_qh *qh = chan->qh; dwc2_hcd_complete_xfer_ddma() local [all...] |
H A D | hcd.h | 108 * @qh: QH for the transfer being processed by this channel 162 struct dwc2_qh *qh; member 290 * the bus. We'll move the qh to active here. If the 412 * @qh: Queue head for this QTD 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); 579 dwc2_hcd_qtd_unlink_and_free(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh) dwc2_hcd_qtd_unlink_and_free() argument 605 dbg_qh(struct dwc2_qh *qh) dbg_qh() argument 615 dbg_qh(struct dwc2_qh *qh) dbg_qh() argument 737 struct dwc2_qh *qh = ep->hcpriv; dwc2_hcd_is_bandwidth_allocated() local 748 struct dwc2_qh *qh = ep->hcpriv; dwc2_hcd_get_ep_bandwidth() local [all...] |
/kernel/linux/linux-6.6/drivers/usb/dwc2/ |
H A D | hcd_queue.c | 72 * @qh: QH containing periodic bandwidth required 80 struct dwc2_qh *qh) in dwc2_check_periodic_bandwidth() 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() 332 * dwc2_get_ls_map() - Get the map used for the given qh 335 * @qh: QH for the periodic transfer. 340 * add logic here to get a map out of "hsotg" if !qh 79 dwc2_check_periodic_bandwidth(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_check_periodic_bandwidth() argument 344 dwc2_get_ls_map(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_get_ls_map() argument 463 struct dwc2_qh *qh; global() member 485 dwc2_qh_schedule_print(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_qh_schedule_print() argument 535 dwc2_qh_schedule_print(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_qh_schedule_print() argument 554 dwc2_ls_pmap_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int search_slice) dwc2_ls_pmap_schedule() argument 593 dwc2_ls_pmap_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_ls_pmap_unschedule() argument 628 dwc2_hs_pmap_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, bool only_one_period, int index) dwc2_hs_pmap_schedule() argument 654 dwc2_hs_pmap_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int index) dwc2_hs_pmap_unschedule() argument 678 dwc2_uframe_schedule_split(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_split() argument 960 dwc2_uframe_schedule_hs(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_hs() argument 983 dwc2_uframe_schedule_ls(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule_ls() argument 1003 dwc2_uframe_schedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_schedule() argument 1028 dwc2_uframe_unschedule(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_uframe_unschedule() argument 1056 dwc2_pick_first_frame(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_pick_first_frame() argument 1171 dwc2_do_reserve(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_do_reserve() argument 1217 dwc2_do_unreserve(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_do_unreserve() argument 1254 struct dwc2_qh *qh = from_timer(qh, t, unreserve_timer); dwc2_unreserve_timer_fn() local 1298 dwc2_check_max_xfer_size(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_check_max_xfer_size() argument 1328 dwc2_schedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_schedule_periodic() argument 1387 dwc2_deschedule_periodic(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_deschedule_periodic() argument 1442 struct dwc2_qh *qh = container_of(t, struct dwc2_qh, wait_timer); dwc2_wait_timer_fn() local 1478 dwc2_qh_init(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, struct dwc2_hcd_urb *urb, gfp_t mem_flags) dwc2_qh_init() argument 1619 struct dwc2_qh *qh; dwc2_hcd_qh_create() local 1651 dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_free() argument 1691 dwc2_hcd_qh_add(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_add() argument 1743 dwc2_hcd_qh_unlink(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_unlink() argument 1793 dwc2_next_for_periodic_split(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 frame_number) dwc2_next_for_periodic_split() argument 1856 dwc2_next_periodic_start(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 frame_number) dwc2_next_periodic_start() argument 1947 dwc2_hcd_qh_deactivate(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int sched_next_periodic_split) dwc2_hcd_qh_deactivate() argument 2048 dwc2_hcd_qtd_add(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh) dwc2_hcd_qtd_add() argument [all...] |
H A 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 in dwc2_desc_list_alloc() 93 dwc2_desc_list_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_desc_list_free() argument 200 dwc2_update_frame_list(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, int enable) dwc2_update_frame_list() argument 264 dwc2_release_channel_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_release_channel_ddma() argument 312 dwc2_hcd_qh_init_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, gfp_t mem_flags) dwc2_hcd_qh_init_ddma() argument 358 dwc2_hcd_qh_free_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_qh_free_ddma() argument 385 dwc2_frame_to_desc_idx(struct dwc2_qh *qh, u16 frame_idx) dwc2_frame_to_desc_idx() argument 398 dwc2_calc_starting_frame(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 *skip_frames) dwc2_calc_starting_frame() argument 460 dwc2_recalc_initial_desc_idx(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_recalc_initial_desc_idx() argument 511 dwc2_fill_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u32 max_xfer_size, u16 idx) dwc2_fill_host_isoc_dma_desc() argument 550 dwc2_init_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, u16 skip_frames) dwc2_init_isoc_dma_desc() argument 659 dwc2_fill_host_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, int n_desc) dwc2_fill_host_dma_desc() argument 711 dwc2_init_non_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_init_non_isoc_dma_desc() argument 817 dwc2_hcd_start_xfer_ddma(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh) dwc2_hcd_start_xfer_ddma() argument 862 dwc2_cmpl_host_isoc_dma_desc(struct dwc2_hsotg *hsotg, struct dwc2_host_chan *chan, struct dwc2_qtd *qtd, struct dwc2_qh *qh, u16 idx) dwc2_cmpl_host_isoc_dma_desc() argument 937 struct dwc2_qh *qh; dwc2_complete_isoc_xfer_ddma() local 1126 struct dwc2_qh *qh = chan->qh; dwc2_process_non_isoc_desc() local 1197 struct dwc2_qh *qh = chan->qh; dwc2_complete_non_isoc_xfer_ddma() local 1273 struct dwc2_qh *qh = chan->qh; dwc2_hcd_complete_xfer_ddma() local [all...] |
/kernel/linux/linux-5.10/drivers/usb/host/ |
H A 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 in uhci_alloc_qh() 292 uhci_free_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_free_qh() argument 296 dev_WARN(uhci_dev(uhci), "qh %p list not empty!\\n", qh); uhci_free_qh() local 314 uhci_cleanup_queue(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb *urb) uhci_cleanup_queue() argument 372 uhci_fixup_toggles(struct uhci_hcd *uhci, struct uhci_qh *qh, int skip_first) uhci_fixup_toggles() argument 424 link_iso(struct uhci_hcd *uhci, struct uhci_qh *qh) link_iso() argument 435 link_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) link_interrupt() argument 451 link_async(struct uhci_hcd *uhci, struct uhci_qh *qh) link_async() argument 480 uhci_activate_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_activate_qh() argument 521 unlink_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) unlink_interrupt() argument 533 unlink_async(struct uhci_hcd *uhci, struct uhci_qh *qh) unlink_async() argument 551 uhci_unlink_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_unlink_qh() argument 586 uhci_make_qh_idle(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_make_qh_idle() argument 623 uhci_check_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_check_bandwidth() argument 659 uhci_reserve_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_reserve_bandwidth() argument 692 uhci_release_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_release_bandwidth() argument 789 uhci_submit_control(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_control() argument 915 uhci_submit_common(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_common() argument 1056 uhci_submit_bulk(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_bulk() argument 1073 uhci_submit_interrupt(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_interrupt() argument 1122 uhci_fixup_short_transfer(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb_priv *urbp) uhci_fixup_short_transfer() argument 1173 struct uhci_qh *qh = urbp->qh; uhci_result_common() local 1254 uhci_submit_isochronous(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_isochronous() argument 1373 struct uhci_qh *qh = urbp->qh; uhci_result_isochronous() local 1415 struct uhci_qh *qh; uhci_urb_enqueue() local 1485 struct uhci_qh *qh; uhci_urb_dequeue() local 1575 uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_scan_qh() argument 1668 uhci_advance_check(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_advance_check() argument 1744 struct uhci_qh *qh; uhci_scan_schedule() local [all...] |
H A D | ehci-q.c | 13 * Control, bulk, and interrupt traffic all use "qh" lists. They list "qtd" 24 * (b) special fields in qh entries or (c) split iso entries. TTs will 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() 108 /* if it weren't for a common silicon quirk (writing the dummy into the qh 109 * overlay, so qh 113 qh_refresh(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_refresh() argument 144 struct ehci_qh *qh = ep->hcpriv; ehci_clear_tt_buffer_complete() local 155 ehci_clear_tt_buffer(struct ehci_hcd *ehci, struct ehci_qh *qh, struct urb *urb, u32 token) ehci_clear_tt_buffer() argument 289 qh_completions(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_completions() argument 765 struct ehci_qh *qh = ehci_qh_alloc (ehci, flags); qh_make() local 981 qh_link_async(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_link_async() argument 1028 struct ehci_qh *qh = NULL; qh_append_tds() local 1110 struct ehci_qh *qh = NULL; submit_async() local 1257 single_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) single_unlink_async() argument 1313 struct ehci_qh *qh; end_unlink_async() local 1426 struct ehci_qh *qh; unlink_empty_async() local 1459 struct ehci_qh *qh; unlink_empty_async_suspended() local 1473 start_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_async() argument 1487 struct ehci_qh *qh; scan_async() local [all...] |
H A D | oxu210hp-hcd.c | 114 #define HCC_CANPARK(p) ((p)&(1 << 2)) /* true: can park on async qh */ 126 #define CMD_PARK (1<<11) /* enable "park" on async qh */ 268 /* mask NakCnt+T in qh->hw_alt_next */ 273 /* Type tag from {qh, itd, sitd, fstn}->hw_next */ 291 * For entries in the async schedule, the type tag always says "qh". 294 struct ehci_qh *qh; /* Q_TYPE_QH */ member 328 dma_addr_t qh_dma; /* address of qh */ 329 union ehci_shadow qh_next; /* ptr to qh; or periodic */ 469 #define EHCI_SHRINK_JIFFIES (HZ/200) /* async qh unlink delay */ 1030 static void oxu_qh_free(struct oxu_hcd *oxu, struct ehci_qh *qh) in oxu_qh_free() argument 1044 struct ehci_qh *qh = container_of(kref, struct ehci_qh, kref); qh_destroy() local 1060 struct ehci_qh *qh = NULL; oxu_qh_alloc() local 1095 qh_get(struct ehci_qh *qh) qh_get() argument 1101 qh_put(struct ehci_qh *qh) qh_put() argument 1244 qh_update(struct oxu_hcd *oxu, struct ehci_qh *qh, struct ehci_qtd *qtd) qh_update() argument 1278 qh_refresh(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_refresh() argument 1353 struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; global() variable 1361 qh_put(qh); global() variable 1406 qh_completions(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_completions() argument 1782 struct ehci_qh *qh = oxu_qh_alloc(oxu); qh_make() local 1915 qh_link_async(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_link_async() argument 1965 struct ehci_qh *qh = NULL; qh_append_tds() local 2041 struct ehci_qh *qh = NULL; submit_async() local 2083 struct ehci_qh *qh = oxu->reclaim; end_unlink_async() local 2123 start_unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) start_unlink_async() argument 2176 struct ehci_qh *qh; scan_async() local 2350 qh_link_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_link_periodic() argument 2415 qh_unlink_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_unlink_periodic() argument 2458 intr_deschedule(struct oxu_hcd *oxu, struct ehci_qh *qh) intr_deschedule() argument 2523 check_intr_schedule(struct oxu_hcd *oxu, unsigned frame, unsigned uframe, const struct ehci_qh *qh, __le32 *c_maskp) check_intr_schedule() argument 2547 qh_schedule(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_schedule() argument 2615 struct ehci_qh *qh; intr_submit() local 2827 unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) unlink_async() argument 3358 struct ehci_qh *qh; oxu_urb_dequeue() local 3420 struct ehci_qh *qh, *tmp; oxu_endpoint_disable() local [all...] |
H A D | ehci-sched.c | 28 * @periodic: host pointer to qh/itd/sitd 37 return &periodic->qh->qh_next; in periodic_next_shadow() 53 /* our ehci_shadow.qh is actually software part */ in shadow_next_periodic() 55 return &periodic->qh->hw->hw_next; in shadow_next_periodic() 207 struct ehci_qh *qh, int sign) in reserve_release_intr_bandwidth() 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 in reserve_release_intr_bandwidth() 206 reserve_release_intr_bandwidth(struct ehci_hcd *ehci, struct ehci_qh *qh, int sign) reserve_release_intr_bandwidth() argument 514 qh_link_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_link_periodic() argument 581 qh_unlink_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_unlink_periodic() argument 628 cancel_unlink_wait_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) cancel_unlink_wait_intr() argument 642 start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_intr() argument 681 start_unlink_intr_wait(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_intr_wait() argument 697 end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) end_unlink_intr() argument 761 check_intr_schedule( struct ehci_hcd *ehci, unsigned frame, unsigned uframe, struct ehci_qh *qh, unsigned *c_maskp, struct ehci_tt *tt ) check_intr_schedule() argument 829 qh_schedule(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_schedule() argument 905 struct ehci_qh *qh; intr_submit() local 964 struct ehci_qh *qh; scan_intr() local [all...] |
H A 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() 371 if (mark == '/') { /* qh_alt_next controls qh advance? */ in qh_lines() 382 "qh/%p dev%d %cs ep%d %08x %08x(%08x%c %s nak%d)", in qh_lines() 383 qh, scratch & 0x007f, in qh_lines() 395 list_for_each_entry(td, &qh in qh_lines() 452 struct fotg210_qh *qh; fill_async_buffer() local 484 output_buf_tds_dir(char *buf, struct fotg210_hcd *fotg210, struct fotg210_qh_hw *hw, struct fotg210_qh *qh, unsigned size) output_buf_tds_dir() argument 1202 struct fotg210_qh *qh = fotg210->intr_unlink; fotg210_handle_intr_unlinks() local 1835 qh_destroy(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_destroy() argument 1851 struct fotg210_qh *qh; fotg210_qh_alloc() local 2029 qh_update(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct fotg210_qtd *qtd) qh_update() argument 2063 qh_refresh(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_refresh() argument 2095 struct fotg210_qh *qh = ep->hcpriv; fotg210_clear_tt_buffer_complete() local 2106 fotg210_clear_tt_buffer(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct urb *urb, u32 token) fotg210_clear_tt_buffer() argument 2197 struct fotg210_qh *qh = (struct fotg210_qh *) urb->hcpriv; global() variable 2239 qh_completions(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_completions() argument 2707 struct fotg210_qh *qh = fotg210_qh_alloc(fotg210, flags); qh_make() local 2904 qh_link_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_link_async() argument 2943 struct fotg210_qh *qh = NULL; qh_append_tds() local 3018 struct fotg210_qh *qh = NULL; submit_async() local 3066 single_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) single_unlink_async() argument 3125 struct fotg210_qh *qh; end_unlink_async() local 3156 struct fotg210_qh *qh, *next; unlink_empty_async() local 3191 start_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) start_unlink_async() argument 3211 struct fotg210_qh *qh; scan_async() local 3476 qh_link_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_link_periodic() argument 3542 qh_unlink_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_unlink_periodic() argument 3592 start_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) start_unlink_intr() argument 3635 end_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) end_unlink_intr() argument 3706 check_intr_schedule(struct fotg210_hcd *fotg210, unsigned frame, unsigned uframe, const struct fotg210_qh *qh, __hc32 *c_maskp) check_intr_schedule() argument 3750 qh_schedule(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_schedule() argument 3822 struct fotg210_qh *qh; intr_submit() local 3872 struct fotg210_qh *qh; scan_intr() local 5297 struct fotg210_qh *qh; fotg210_urb_dequeue() local 5367 struct fotg210_qh *qh, *tmp; fotg210_endpoint_disable() local 5439 struct fotg210_qh *qh; fotg210_endpoint_reset() local [all...] |
H A 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() 58 ehci_dbg (ehci, "unused qh not empty!\n"); 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 [all...] |
H A 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() 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 in uhci_show_qh() 165 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) uhci_show_qh() argument 378 struct uhci_qh *qh; uhci_sprint_schedule() local 625 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) uhci_show_qh() argument [all...] |
/kernel/linux/linux-6.6/drivers/usb/host/ |
H A 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 in uhci_alloc_qh() 292 uhci_free_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_free_qh() argument 296 dev_WARN(uhci_dev(uhci), "qh %p list not empty!\\n", qh); uhci_free_qh() local 314 uhci_cleanup_queue(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb *urb) uhci_cleanup_queue() argument 372 uhci_fixup_toggles(struct uhci_hcd *uhci, struct uhci_qh *qh, int skip_first) uhci_fixup_toggles() argument 424 link_iso(struct uhci_hcd *uhci, struct uhci_qh *qh) link_iso() argument 435 link_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) link_interrupt() argument 451 link_async(struct uhci_hcd *uhci, struct uhci_qh *qh) link_async() argument 480 uhci_activate_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_activate_qh() argument 521 unlink_interrupt(struct uhci_hcd *uhci, struct uhci_qh *qh) unlink_interrupt() argument 533 unlink_async(struct uhci_hcd *uhci, struct uhci_qh *qh) unlink_async() argument 551 uhci_unlink_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_unlink_qh() argument 586 uhci_make_qh_idle(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_make_qh_idle() argument 623 uhci_check_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_check_bandwidth() argument 659 uhci_reserve_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_reserve_bandwidth() argument 692 uhci_release_bandwidth(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_release_bandwidth() argument 789 uhci_submit_control(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_control() argument 915 uhci_submit_common(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_common() argument 1056 uhci_submit_bulk(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_bulk() argument 1073 uhci_submit_interrupt(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_interrupt() argument 1122 uhci_fixup_short_transfer(struct uhci_hcd *uhci, struct uhci_qh *qh, struct urb_priv *urbp) uhci_fixup_short_transfer() argument 1173 struct uhci_qh *qh = urbp->qh; uhci_result_common() local 1254 uhci_submit_isochronous(struct uhci_hcd *uhci, struct urb *urb, struct uhci_qh *qh) uhci_submit_isochronous() argument 1373 struct uhci_qh *qh = urbp->qh; uhci_result_isochronous() local 1415 struct uhci_qh *qh; uhci_urb_enqueue() local 1485 struct uhci_qh *qh; uhci_urb_dequeue() local 1575 uhci_scan_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_scan_qh() argument 1668 uhci_advance_check(struct uhci_hcd *uhci, struct uhci_qh *qh) uhci_advance_check() argument 1744 struct uhci_qh *qh; uhci_scan_schedule() local [all...] |
H A D | ehci-q.c | 13 * Control, bulk, and interrupt traffic all use "qh" lists. They list "qtd" 24 * (b) special fields in qh entries or (c) split iso entries. TTs will 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() 109 /* if it weren't for a common silicon quirk (writing the dummy into the qh 110 * overlay, so qh 114 qh_refresh(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_refresh() argument 145 struct ehci_qh *qh = ep->hcpriv; ehci_clear_tt_buffer_complete() local 156 ehci_clear_tt_buffer(struct ehci_hcd *ehci, struct ehci_qh *qh, struct urb *urb, u32 token) ehci_clear_tt_buffer() argument 290 qh_completions(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_completions() argument 766 struct ehci_qh *qh = ehci_qh_alloc (ehci, flags); qh_make() local 982 qh_link_async(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_link_async() argument 1029 struct ehci_qh *qh = NULL; qh_append_tds() local 1111 struct ehci_qh *qh = NULL; submit_async() local 1258 single_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) single_unlink_async() argument 1314 struct ehci_qh *qh; end_unlink_async() local 1427 struct ehci_qh *qh; unlink_empty_async() local 1460 struct ehci_qh *qh; unlink_empty_async_suspended() local 1474 start_unlink_async(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_async() argument 1488 struct ehci_qh *qh; scan_async() local [all...] |
H A D | oxu210hp-hcd.c | 114 #define HCC_CANPARK(p) ((p)&(1 << 2)) /* true: can park on async qh */ 126 #define CMD_PARK (1<<11) /* enable "park" on async qh */ 268 /* mask NakCnt+T in qh->hw_alt_next */ 273 /* Type tag from {qh, itd, sitd, fstn}->hw_next */ 291 * For entries in the async schedule, the type tag always says "qh". 294 struct ehci_qh *qh; /* Q_TYPE_QH */ member 328 dma_addr_t qh_dma; /* address of qh */ 329 union ehci_shadow qh_next; /* ptr to qh; or periodic */ 469 #define EHCI_SHRINK_JIFFIES (HZ/200) /* async qh unlink delay */ 1030 static void oxu_qh_free(struct oxu_hcd *oxu, struct ehci_qh *qh) in oxu_qh_free() argument 1044 struct ehci_qh *qh = container_of(kref, struct ehci_qh, kref); qh_destroy() local 1060 struct ehci_qh *qh = NULL; oxu_qh_alloc() local 1095 qh_get(struct ehci_qh *qh) qh_get() argument 1101 qh_put(struct ehci_qh *qh) qh_put() argument 1244 qh_update(struct oxu_hcd *oxu, struct ehci_qh *qh, struct ehci_qtd *qtd) qh_update() argument 1278 qh_refresh(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_refresh() argument 1353 struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; global() variable 1361 qh_put(qh); global() variable 1407 qh_completions(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_completions() argument 1783 struct ehci_qh *qh = oxu_qh_alloc(oxu); qh_make() local 1916 qh_link_async(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_link_async() argument 1966 struct ehci_qh *qh = NULL; qh_append_tds() local 2042 struct ehci_qh *qh = NULL; submit_async() local 2084 struct ehci_qh *qh = oxu->reclaim; end_unlink_async() local 2124 start_unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) start_unlink_async() argument 2177 struct ehci_qh *qh; scan_async() local 2351 qh_link_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_link_periodic() argument 2416 qh_unlink_periodic(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_unlink_periodic() argument 2459 intr_deschedule(struct oxu_hcd *oxu, struct ehci_qh *qh) intr_deschedule() argument 2524 check_intr_schedule(struct oxu_hcd *oxu, unsigned frame, unsigned uframe, const struct ehci_qh *qh, __le32 *c_maskp) check_intr_schedule() argument 2548 qh_schedule(struct oxu_hcd *oxu, struct ehci_qh *qh) qh_schedule() argument 2616 struct ehci_qh *qh; intr_submit() local 2828 unlink_async(struct oxu_hcd *oxu, struct ehci_qh *qh) unlink_async() argument 3359 struct ehci_qh *qh; oxu_urb_dequeue() local 3421 struct ehci_qh *qh, *tmp; oxu_endpoint_disable() local [all...] |
H A D | ehci-sched.c | 28 * @periodic: host pointer to qh/itd/sitd 37 return &periodic->qh->qh_next; in periodic_next_shadow() 53 /* our ehci_shadow.qh is actually software part */ in shadow_next_periodic() 55 return &periodic->qh->hw->hw_next; in shadow_next_periodic() 207 struct ehci_qh *qh, int sign) in reserve_release_intr_bandwidth() 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 in reserve_release_intr_bandwidth() 206 reserve_release_intr_bandwidth(struct ehci_hcd *ehci, struct ehci_qh *qh, int sign) reserve_release_intr_bandwidth() argument 521 qh_link_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_link_periodic() argument 588 qh_unlink_periodic(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_unlink_periodic() argument 635 cancel_unlink_wait_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) cancel_unlink_wait_intr() argument 649 start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_intr() argument 688 start_unlink_intr_wait(struct ehci_hcd *ehci, struct ehci_qh *qh) start_unlink_intr_wait() argument 704 end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh) end_unlink_intr() argument 768 check_intr_schedule( struct ehci_hcd *ehci, unsigned frame, unsigned uframe, struct ehci_qh *qh, unsigned *c_maskp, struct ehci_tt *tt ) check_intr_schedule() argument 836 qh_schedule(struct ehci_hcd *ehci, struct ehci_qh *qh) qh_schedule() argument 912 struct ehci_qh *qh; intr_submit() local 971 struct ehci_qh *qh; scan_intr() local [all...] |
H A 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() 58 ehci_dbg (ehci, "unused qh not empty!\n"); 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 [all...] |
H A 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() 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 in uhci_show_qh() 165 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) uhci_show_qh() argument 378 struct uhci_qh *qh; uhci_sprint_schedule() local 625 uhci_show_qh(struct uhci_hcd *uhci, struct uhci_qh *qh, char *buf, int len, int space) uhci_show_qh() argument [all...] |
/kernel/linux/linux-5.10/drivers/usb/musb/ |
H A 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() 206 /* initialize software qh state */ in musb_start_urb() 207 qh->offset = 0; in musb_start_urb() 208 qh->segsize = 0; in musb_start_urb() 211 switch (qh in musb_start_urb() 299 struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in); musb_advance_schedule() local 423 struct musb_qh *qh = hw_ep->in_qh; musb_host_packet_rx() local 514 musb_rx_reinit(struct musb *musb, struct musb_qh *qh, u8 epnum) musb_rx_reinit() argument 572 musb_tx_dma_set_mode_mentor(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, u32 offset, u32 *length, u8 *mode) musb_tx_dma_set_mode_mentor() argument 611 musb_tx_dma_set_mode_cppi_tusb(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, u32 offset, u32 *length, u8 *mode) musb_tx_dma_set_mode_cppi_tusb() argument 630 musb_tx_dma_program(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, u32 offset, u32 length) musb_tx_dma_program() argument 685 struct musb_qh *qh = musb_ep_get_qh(hw_ep, !is_out); musb_ep_program() local 990 struct musb_qh *qh = hw_ep->in_qh; musb_h_ep0_continue() local 1068 struct musb_qh *qh = hw_ep->in_qh; musb_h_ep0_irq() local 1210 struct musb_qh *qh = hw_ep->out_qh; musb_host_tx() local 1470 musb_rx_dma_iso_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_iso_cppi41() argument 1495 musb_rx_dma_iso_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_iso_cppi41() argument 1541 musb_rx_dma_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_inventra_cppi41() argument 1611 musb_rx_dma_in_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len, u8 iso_err) musb_rx_dma_in_inventra_cppi41() argument 1711 musb_rx_dma_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_inventra_cppi41() argument 1720 musb_rx_dma_in_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len, u8 iso_err) musb_rx_dma_in_inventra_cppi41() argument 1741 struct musb_qh *qh = hw_ep->in_qh; musb_host_rx() local 1999 musb_schedule( struct musb *musb, struct musb_qh *qh, int is_in) musb_schedule() argument 2127 struct musb_qh *qh; musb_urb_enqueue() local 2314 musb_cleanup_urb(struct urb *urb, struct musb_qh *qh) musb_cleanup_urb() argument 2372 struct musb_qh *qh; musb_urb_dequeue() local 2432 struct musb_qh *qh; musb_h_disable() local [all...] |
/kernel/linux/linux-6.6/drivers/usb/musb/ |
H A 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() 206 /* initialize software qh state */ in musb_start_urb() 207 qh->offset = 0; in musb_start_urb() 208 qh->segsize = 0; in musb_start_urb() 211 switch (qh in musb_start_urb() 299 struct musb_qh *qh = musb_ep_get_qh(hw_ep, is_in); musb_advance_schedule() local 423 struct musb_qh *qh = hw_ep->in_qh; musb_host_packet_rx() local 514 musb_rx_reinit(struct musb *musb, struct musb_qh *qh, u8 epnum) musb_rx_reinit() argument 572 musb_tx_dma_set_mode_mentor(struct musb_hw_ep *hw_ep, struct musb_qh *qh, u32 *length, u8 *mode) musb_tx_dma_set_mode_mentor() argument 625 musb_tx_dma_program(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, u32 offset, u32 length) musb_tx_dma_program() argument 679 struct musb_qh *qh = musb_ep_get_qh(hw_ep, !is_out); musb_ep_program() local 984 struct musb_qh *qh = hw_ep->in_qh; musb_h_ep0_continue() local 1062 struct musb_qh *qh = hw_ep->in_qh; musb_h_ep0_irq() local 1204 struct musb_qh *qh = hw_ep->out_qh; musb_host_tx() local 1464 musb_rx_dma_iso_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_iso_cppi41() argument 1489 musb_rx_dma_iso_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_iso_cppi41() argument 1535 musb_rx_dma_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_inventra_cppi41() argument 1605 musb_rx_dma_in_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len, u8 iso_err) musb_rx_dma_in_inventra_cppi41() argument 1705 musb_rx_dma_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len) musb_rx_dma_inventra_cppi41() argument 1714 musb_rx_dma_in_inventra_cppi41(struct dma_controller *dma, struct musb_hw_ep *hw_ep, struct musb_qh *qh, struct urb *urb, size_t len, u8 iso_err) musb_rx_dma_in_inventra_cppi41() argument 1735 struct musb_qh *qh = hw_ep->in_qh; musb_host_rx() local 1993 musb_schedule( struct musb *musb, struct musb_qh *qh, int is_in) musb_schedule() argument 2121 struct musb_qh *qh; musb_urb_enqueue() local 2308 musb_cleanup_urb(struct urb *urb, struct musb_qh *qh) musb_cleanup_urb() argument 2366 struct musb_qh *qh; musb_urb_dequeue() local 2426 struct musb_qh *qh; musb_h_disable() local [all...] |
/kernel/linux/linux-6.6/drivers/usb/fotg210/ |
H A 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() 370 if (mark == '/') { /* qh_alt_next controls qh advance? */ in qh_lines() 381 "qh/%p dev%d %cs ep%d %08x %08x(%08x%c %s nak%d)", in qh_lines() 382 qh, scratch & 0x007f, in qh_lines() 394 list_for_each_entry(td, &qh in qh_lines() 451 struct fotg210_qh *qh; fill_async_buffer() local 483 output_buf_tds_dir(char *buf, struct fotg210_hcd *fotg210, struct fotg210_qh_hw *hw, struct fotg210_qh *qh, unsigned size) output_buf_tds_dir() argument 1202 struct fotg210_qh *qh = fotg210->intr_unlink; fotg210_handle_intr_unlinks() local 1835 qh_destroy(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_destroy() argument 1851 struct fotg210_qh *qh; fotg210_qh_alloc() local 2030 qh_update(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct fotg210_qtd *qtd) qh_update() argument 2064 qh_refresh(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_refresh() argument 2096 struct fotg210_qh *qh = ep->hcpriv; fotg210_clear_tt_buffer_complete() local 2107 fotg210_clear_tt_buffer(struct fotg210_hcd *fotg210, struct fotg210_qh *qh, struct urb *urb, u32 token) fotg210_clear_tt_buffer() argument 2198 struct fotg210_qh *qh = (struct fotg210_qh *) urb->hcpriv; global() variable 2240 qh_completions(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_completions() argument 2708 struct fotg210_qh *qh = fotg210_qh_alloc(fotg210, flags); qh_make() local 2905 qh_link_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_link_async() argument 2944 struct fotg210_qh *qh = NULL; qh_append_tds() local 3019 struct fotg210_qh *qh = NULL; submit_async() local 3067 single_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) single_unlink_async() argument 3126 struct fotg210_qh *qh; end_unlink_async() local 3157 struct fotg210_qh *qh, *next; unlink_empty_async() local 3192 start_unlink_async(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) start_unlink_async() argument 3212 struct fotg210_qh *qh; scan_async() local 3477 qh_link_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_link_periodic() argument 3543 qh_unlink_periodic(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_unlink_periodic() argument 3593 start_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) start_unlink_intr() argument 3636 end_unlink_intr(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) end_unlink_intr() argument 3707 check_intr_schedule(struct fotg210_hcd *fotg210, unsigned frame, unsigned uframe, const struct fotg210_qh *qh, __hc32 *c_maskp) check_intr_schedule() argument 3751 qh_schedule(struct fotg210_hcd *fotg210, struct fotg210_qh *qh) qh_schedule() argument 3823 struct fotg210_qh *qh; intr_submit() local 3873 struct fotg210_qh *qh; scan_intr() local 5296 struct fotg210_qh *qh; fotg210_urb_dequeue() local 5366 struct fotg210_qh *qh, *tmp; fotg210_endpoint_disable() local 5438 struct fotg210_qh *qh; fotg210_endpoint_reset() local [all...] |
/kernel/linux/linux-5.10/drivers/usb/isp1760/ |
H A 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 in qh_free() 513 last_qtd_of_urb(struct isp1760_qtd *qtd, struct isp1760_qh *qh) last_qtd_of_urb() argument 533 create_ptd_atl(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) create_ptd_atl() argument 608 transform_add_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) transform_add_int() argument 660 create_ptd_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) create_ptd_int() argument 717 start_bus_transfer(struct usb_hcd *hcd, u32 ptd_offset, int slot, struct isp1760_slotinfo *slots, struct isp1760_qtd *qtd, struct isp1760_qh *qh, struct ptd *ptd) start_bus_transfer() argument 766 collect_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh, struct list_head *urb_list) collect_qtds() argument 829 enqueue_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh) enqueue_qtds() argument 911 struct isp1760_qh *qh, *qh_next; schedule_ptds() local 1068 struct isp1760_qh *qh; handle_done_ptds() local 1494 struct isp1760_qh *qh, *qhit; isp1760_urb_enqueue() local 1576 kill_transfer(struct usb_hcd *hcd, struct urb *urb, struct isp1760_qh *qh) kill_transfer() argument 1607 dequeue_urb_from_qtd(struct usb_hcd *hcd, struct isp1760_qh *qh, struct isp1760_qtd *qtd) dequeue_urb_from_qtd() argument 1643 struct isp1760_qh *qh; isp1760_urb_dequeue() local 1678 struct isp1760_qh *qh, *qh_iter; isp1760_endpoint_disable() local 2119 struct isp1760_qh *qh = ep->hcpriv; isp1760_clear_tt_buffer_complete() local [all...] |
/kernel/linux/linux-5.10/drivers/soc/ti/ |
H A D | knav_qmss_queue.c | 57 #define for_each_handle_rcu(qh, inst) \ 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 264 struct knav_queue *qh; knav_queue_open_by_id() local 294 struct knav_queue *qh = ERR_PTR(-EINVAL); knav_queue_open_by_type() local 323 knav_queue_enable_notifier(struct knav_queue *qh) knav_queue_enable_notifier() argument 344 knav_queue_disable_notifier(struct knav_queue *qh) knav_queue_disable_notifier() argument 360 knav_queue_set_notifier(struct knav_queue *qh, struct knav_queue_notify_config *cfg) knav_queue_set_notifier() argument 421 struct knav_queue *qh = qhandle; knav_queue_get_count() local 432 struct knav_queue *qh; knav_queue_debug_show_instance() local 502 knav_queue_flush(struct knav_queue *qh) knav_queue_flush() argument 529 struct knav_queue *qh = ERR_PTR(-EINVAL); knav_queue_open() local 552 struct knav_queue *qh = qhandle; knav_queue_close() local 584 struct knav_queue *qh = qhandle; knav_queue_device_control() local 636 struct knav_queue *qh = qhandle; knav_queue_push() local 656 struct knav_queue *qh = qhandle; knav_queue_pop() local [all...] |
/kernel/linux/linux-6.6/drivers/soc/ti/ |
H A D | knav_qmss_queue.c | 57 #define for_each_handle_rcu(qh, inst) \ 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 264 struct knav_queue *qh; knav_queue_open_by_id() local 294 struct knav_queue *qh = ERR_PTR(-EINVAL); knav_queue_open_by_type() local 323 knav_queue_enable_notifier(struct knav_queue *qh) knav_queue_enable_notifier() argument 344 knav_queue_disable_notifier(struct knav_queue *qh) knav_queue_disable_notifier() argument 360 knav_queue_set_notifier(struct knav_queue *qh, struct knav_queue_notify_config *cfg) knav_queue_set_notifier() argument 421 struct knav_queue *qh = qhandle; knav_queue_get_count() local 432 struct knav_queue *qh; knav_queue_debug_show_instance() local 502 knav_queue_flush(struct knav_queue *qh) knav_queue_flush() argument 529 struct knav_queue *qh = ERR_PTR(-EINVAL); knav_queue_open() local 552 struct knav_queue *qh = qhandle; knav_queue_close() local 584 struct knav_queue *qh = qhandle; knav_queue_device_control() local 636 struct knav_queue *qh = qhandle; knav_queue_push() local 656 struct knav_queue *qh = qhandle; knav_queue_pop() local [all...] |
/kernel/linux/linux-6.6/drivers/usb/isp1760/ |
H A 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 in qh_free() 797 last_qtd_of_urb(struct isp1760_qtd *qtd, struct isp1760_qh *qh) last_qtd_of_urb() argument 817 create_ptd_atl(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) create_ptd_atl() argument 891 transform_add_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) transform_add_int() argument 943 create_ptd_int(struct isp1760_qh *qh, struct isp1760_qtd *qtd, struct ptd *ptd) create_ptd_int() argument 1000 start_bus_transfer(struct usb_hcd *hcd, u32 ptd_offset, int slot, struct isp1760_slotinfo *slots, struct isp1760_qtd *qtd, struct isp1760_qh *qh, struct ptd *ptd) start_bus_transfer() argument 1053 collect_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh, struct list_head *urb_list) collect_qtds() argument 1116 enqueue_qtds(struct usb_hcd *hcd, struct isp1760_qh *qh) enqueue_qtds() argument 1199 struct isp1760_qh *qh, *qh_next; schedule_ptds() local 1356 struct isp1760_qh *qh; handle_done_ptds() local 1883 struct isp1760_qh *qh, *qhit; isp1760_urb_enqueue() local 1964 kill_transfer(struct usb_hcd *hcd, struct urb *urb, struct isp1760_qh *qh) kill_transfer() argument 2000 dequeue_urb_from_qtd(struct usb_hcd *hcd, struct isp1760_qh *qh, struct isp1760_qtd *qtd) dequeue_urb_from_qtd() argument 2036 struct isp1760_qh *qh; isp1760_urb_dequeue() local 2071 struct isp1760_qh *qh, *qh_iter; isp1760_endpoint_disable() local 2489 struct isp1760_qh *qh = ep->hcpriv; isp1760_clear_tt_buffer_complete() local [all...] |