Lines Matching refs:qset
65 static int qset_get_period(struct whc *whc, struct whc_qset *qset) in qset_get_period() argument
67 uint8_t bInterval = qset->ep->desc.bInterval; in qset_get_period()
76 static void qset_insert_in_sw_list(struct whc *whc, struct whc_qset *qset) in qset_insert_in_sw_list() argument
80 period = qset_get_period(whc, qset); in qset_insert_in_sw_list()
82 qset_clear(whc, qset); in qset_insert_in_sw_list()
83 list_move(&qset->list_node, &whc->periodic_list[period]); in qset_insert_in_sw_list()
84 qset->in_sw_list = true; in qset_insert_in_sw_list()
87 static void pzl_qset_remove(struct whc *whc, struct whc_qset *qset) in pzl_qset_remove() argument
89 list_move(&qset->list_node, &whc->periodic_removed_list); in pzl_qset_remove()
90 qset->in_hw_list = false; in pzl_qset_remove()
91 qset->in_sw_list = false; in pzl_qset_remove()
103 static enum whc_update pzl_process_qset(struct whc *whc, struct whc_qset *qset) in pzl_process_qset() argument
108 while (qset->ntds) { in pzl_process_qset()
112 t = qset->td_start; in pzl_process_qset()
113 td = &qset->qtd[qset->td_start]; in pzl_process_qset()
124 process_halted_qtd(whc, qset, td); in pzl_process_qset()
133 process_inactive_qtd(whc, qset, td); in pzl_process_qset()
136 if (!qset->remove) in pzl_process_qset()
137 update |= qset_add_qtds(whc, qset); in pzl_process_qset()
143 if (qset->remove && qset->ntds == 0) { in pzl_process_qset()
144 pzl_qset_remove(whc, qset); in pzl_process_qset()
209 struct whc_qset *qset, *t; in update_pzl_hw_view() local
214 list_for_each_entry_safe(qset, t, &whc->periodic_list[period], list_node) { in update_pzl_hw_view()
215 whc_qset_set_link_ptr(&qset->qh.link, tmp_qh); in update_pzl_hw_view()
216 tmp_qh = qset->qset_dma; in update_pzl_hw_view()
217 qset->in_hw_list = true; in update_pzl_hw_view()
234 struct whc_qset *qset, *t; in scan_periodic_work() local
241 list_for_each_entry_safe(qset, t, &whc->periodic_list[period], list_node) { in scan_periodic_work()
242 if (!qset->in_hw_list) in scan_periodic_work()
244 update |= pzl_process_qset(whc, qset); in scan_periodic_work()
269 list_for_each_entry_safe(qset, t, &whc->periodic_removed_list, list_node) { in scan_periodic_work()
270 qset_remove_complete(whc, qset); in scan_periodic_work()
271 if (qset->reset) { in scan_periodic_work()
272 qset_reset(whc, qset); in scan_periodic_work()
273 if (!list_empty(&qset->stds)) { in scan_periodic_work()
274 qset_insert_in_sw_list(whc, qset); in scan_periodic_work()
295 struct whc_qset *qset; in pzl_urb_enqueue() local
307 qset = get_qset(whc, urb, GFP_ATOMIC); in pzl_urb_enqueue()
308 if (qset == NULL) in pzl_urb_enqueue()
311 err = qset_add_urb(whc, qset, urb, GFP_ATOMIC); in pzl_urb_enqueue()
313 if (!qset->in_sw_list && !qset->remove) in pzl_urb_enqueue()
314 qset_insert_in_sw_list(whc, qset); in pzl_urb_enqueue()
339 struct whc_qset *qset = wurb->qset; in pzl_urb_dequeue() local
351 list_for_each_entry_safe(std, t, &qset->stds, list_node) { in pzl_urb_dequeue()
361 pzl_qset_remove(whc, qset); in pzl_urb_dequeue()
367 qset_remove_urb(whc, qset, urb, status); in pzl_urb_dequeue()
377 void pzl_qset_delete(struct whc *whc, struct whc_qset *qset) in pzl_qset_delete() argument
379 qset->remove = 1; in pzl_qset_delete()
381 qset_delete(whc, qset); in pzl_qset_delete()