Lines Matching refs:qh
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()
453 } else if (chan->qh->do_split) { in dwc2_get_actual_xfer_length()
548 if (WARN(!chan || !chan->qh, in dwc2_hcd_save_data_toggle()
553 chan->qh->data_toggle = DWC2_HC_PID_DATA0; in dwc2_hcd_save_data_toggle()
555 chan->qh->data_toggle = DWC2_HC_PID_DATA1; in dwc2_hcd_save_data_toggle()
623 if (chan->qh->do_split && in dwc2_update_isoc_urb_state()
658 static void dwc2_deactivate_qh(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh, in dwc2_deactivate_qh() argument
664 if (dbg_qh(qh)) in dwc2_deactivate_qh()
666 hsotg, qh, free_qtd); in dwc2_deactivate_qh()
668 if (list_empty(&qh->qtd_list)) { in dwc2_deactivate_qh()
673 qtd = list_first_entry(&qh->qtd_list, struct dwc2_qtd, qtd_list_entry); in dwc2_deactivate_qh()
682 dwc2_hcd_qtd_unlink_and_free(hsotg, qtd, qh); in dwc2_deactivate_qh()
687 qh->channel = NULL; in dwc2_deactivate_qh()
688 dwc2_hcd_qh_deactivate(hsotg, qh, continue_split); in dwc2_deactivate_qh()
751 dwc2_deactivate_qh(hsotg, chan->qh, free_qtd); in dwc2_release_channel()
843 list_move_tail(&chan->qh->qh_list_entry, in dwc2_halt_channel()
879 chan->qh->ping_state = 1; in dwc2_complete_non_periodic_xfer()
954 dma_unmap_single(hsotg->dev, chan->qh->dw_align_buf_dma, in dwc2_xfercomp_isoc_split_in()
957 chan->qh->dw_align_buf, len); in dwc2_xfercomp_isoc_split_in()
1016 if (chan->qh->do_split) { in dwc2_hc_xfercomp_intr()
1155 chan->qh->data_toggle = 0; in dwc2_hc_stall_intr()
1250 qtd->qh->want_wait = qtd->num_naks >= DWC2_NAKS_BEFORE_DELAY && in dwc2_hc_nak_intr()
1278 if (!chan->qh->ping_state) { in dwc2_hc_nak_intr()
1284 chan->qh->ping_state = 1; in dwc2_hc_nak_intr()
1365 if (chan->qh->ping_state) { in dwc2_hc_ack_intr()
1366 chan->qh->ping_state = 0; in dwc2_hc_ack_intr()
1424 struct dwc2_qh *qh = chan->qh; in dwc2_hc_nyet_intr() local
1432 dwc2_full_frame_num(qh->next_active_frame); in dwc2_hc_nyet_intr()
1459 qh->start_active_frame, in dwc2_hc_nyet_intr()
1460 qh->num_hs_transfers); in dwc2_hc_nyet_intr()
1462 if (qh->ep_type != USB_ENDPOINT_XFER_ISOC || in dwc2_hc_nyet_intr()
1463 qh->ep_is_in) in dwc2_hc_nyet_intr()
1468 end_frnum, qh->next_active_frame); in dwc2_hc_nyet_intr()
1495 chan->qh->ping_state = 1; in dwc2_hc_nyet_intr()
1673 if (!chan->qh->ping_state) { in dwc2_hc_xacterr_intr()
1678 chan->qh->ping_state = 1; in dwc2_hc_xacterr_intr()
2031 static bool dwc2_check_qtd_still_ok(struct dwc2_qtd *qtd, struct dwc2_qh *qh) in dwc2_check_qtd_still_ok() argument
2035 if (!qh) in dwc2_check_qtd_still_ok()
2038 cur_head = list_first_entry(&qh->qtd_list, struct dwc2_qtd, in dwc2_check_qtd_still_ok()
2074 if (!chan->qh) { in dwc2_hc_n_intr()
2102 if (list_empty(&chan->qh->qtd_list)) { in dwc2_hc_n_intr()
2118 qtd = list_first_entry(&chan->qh->qtd_list, struct dwc2_qtd, in dwc2_hc_n_intr()
2138 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2143 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2148 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2153 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2158 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2163 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2168 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2173 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2178 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()
2183 if (!dwc2_check_qtd_still_ok(qtd, chan->qh)) in dwc2_hc_n_intr()