Searched refs:ep_priv (Results 1 - 3 of 3) sorted by relevance

/linux-4.4.14/drivers/usb/host/
H A Dimx21-hcd.c482 static void ep_idle(struct imx21 *imx21, struct ep_priv *ep_priv) ep_idle() argument
487 int etd_num = ep_priv->etd[i]; ep_idle()
493 ep_priv->etd[i] = -1; ep_idle()
504 ep_priv = list_first_entry(&imx21->queue_for_etd, ep_idle()
505 struct ep_priv, queue); ep_idle()
506 list_del(&ep_priv->queue); ep_idle()
508 ep_priv->waiting_etd = 0; ep_idle()
509 ep_priv->etd[i] = etd_num; ep_idle()
511 if (list_empty(&ep_priv->ep->urb_list)) { ep_idle()
516 &ep_priv->ep->urb_list, struct urb, urb_list)); ep_idle()
525 struct ep_priv *ep_priv = urb->ep->hcpriv; variable in typeref:struct:ep_priv
538 if (list_empty(&ep_priv->ep->urb_list))
539 ep_idle(imx21, ep_priv);
568 struct ep_priv *ep_priv = ep->hcpriv; schedule_isoc_etds() local
579 if (list_empty(&ep_priv->td_list)) schedule_isoc_etds()
582 etd_num = ep_priv->etd[i]; schedule_isoc_etds()
590 td = list_entry(ep_priv->td_list.next, struct td, list); schedule_isoc_etds()
693 static struct ep_priv *alloc_isoc_ep( alloc_isoc_ep()
696 struct ep_priv *ep_priv; alloc_isoc_ep() local
699 ep_priv = kzalloc(sizeof(struct ep_priv), GFP_ATOMIC); alloc_isoc_ep()
700 if (!ep_priv) alloc_isoc_ep()
704 ep_priv->etd[i] = -1; alloc_isoc_ep()
706 INIT_LIST_HEAD(&ep_priv->td_list); alloc_isoc_ep()
707 ep_priv->ep = ep; alloc_isoc_ep()
708 ep->hcpriv = ep_priv; alloc_isoc_ep()
709 return ep_priv; alloc_isoc_ep()
712 static int alloc_isoc_etds(struct imx21 *imx21, struct ep_priv *ep_priv) alloc_isoc_etds() argument
719 if (ep_priv->etd[i] < 0) { alloc_isoc_etds()
724 ep_priv->etd[i] = etd_num; alloc_isoc_etds()
725 imx21->etd[etd_num].ep = ep_priv->ep; alloc_isoc_etds()
733 free_etd(imx21, ep_priv->etd[j]); alloc_isoc_etds()
734 ep_priv->etd[j] = -1; alloc_isoc_etds()
746 struct ep_priv *ep_priv; imx21_hc_urb_enqueue_isoc() local
767 ep_priv = alloc_isoc_ep(imx21, ep); imx21_hc_urb_enqueue_isoc()
768 if (ep_priv == NULL) { imx21_hc_urb_enqueue_isoc()
773 ep_priv = ep->hcpriv; imx21_hc_urb_enqueue_isoc()
776 ret = alloc_isoc_etds(imx21, ep_priv); imx21_hc_urb_enqueue_isoc()
793 struct etd_priv *etd = &imx21->etd[ep_priv->etd[i]]; imx21_hc_urb_enqueue_isoc()
817 if (list_empty(&ep_priv->td_list)) { imx21_hc_urb_enqueue_isoc()
820 urb->start_frame = wrap_frame(list_entry(ep_priv->td_list.prev, imx21_hc_urb_enqueue_isoc()
854 list_add_tail(&td->list, &ep_priv->td_list); imx21_hc_urb_enqueue_isoc()
881 struct urb *urb, struct ep_priv *ep_priv) dequeue_isoc_urb()
889 int etd_num = ep_priv->etd[i]; dequeue_isoc_urb()
899 list_for_each_entry_safe(td, tmp, &ep_priv->td_list, list) { dequeue_isoc_urb()
915 struct ep_priv *ep_priv = urb_priv->ep->hcpriv; schedule_nonisoc_etd() local
917 int etd_num = ep_priv->etd[0]; schedule_nonisoc_etd()
1149 static struct ep_priv *alloc_ep(void) alloc_ep()
1152 struct ep_priv *ep_priv; alloc_ep() local
1154 ep_priv = kzalloc(sizeof(struct ep_priv), GFP_ATOMIC); alloc_ep()
1155 if (!ep_priv) alloc_ep()
1159 ep_priv->etd[i] = -1; alloc_ep()
1161 return ep_priv; alloc_ep()
1170 struct ep_priv *ep_priv; imx21_hc_urb_enqueue() local
1192 ep_priv = ep->hcpriv; imx21_hc_urb_enqueue()
1193 if (ep_priv == NULL) { imx21_hc_urb_enqueue()
1194 ep_priv = alloc_ep(); imx21_hc_urb_enqueue()
1195 if (!ep_priv) { imx21_hc_urb_enqueue()
1199 ep->hcpriv = ep_priv; imx21_hc_urb_enqueue()
1200 ep_priv->ep = ep; imx21_hc_urb_enqueue()
1223 if (ep_priv->etd[0] < 0) { imx21_hc_urb_enqueue()
1224 if (ep_priv->waiting_etd) { imx21_hc_urb_enqueue()
1227 ep_priv); imx21_hc_urb_enqueue()
1231 ep_priv->etd[0] = alloc_etd(imx21); imx21_hc_urb_enqueue()
1232 if (ep_priv->etd[0] < 0) { imx21_hc_urb_enqueue()
1234 "no ETD available queueing %p\n", ep_priv); imx21_hc_urb_enqueue()
1236 list_add_tail(&ep_priv->queue, &imx21->queue_for_etd); imx21_hc_urb_enqueue()
1237 ep_priv->waiting_etd = 1; imx21_hc_urb_enqueue()
1243 etd = &imx21->etd[ep_priv->etd[0]]; imx21_hc_urb_enqueue()
1266 struct ep_priv *ep_priv; imx21_hc_urb_dequeue() local
1279 ep_priv = ep->hcpriv; imx21_hc_urb_dequeue()
1284 dequeue_isoc_urb(imx21, urb, ep_priv); imx21_hc_urb_dequeue()
1287 int etd_num = ep_priv->etd[0]; imx21_hc_urb_dequeue()
1433 struct ep_priv *ep_priv; imx21_hc_endpoint_disable() local
1440 ep_priv = ep->hcpriv; imx21_hc_endpoint_disable()
1441 dev_vdbg(imx21->dev, "disable ep=%p, ep->hcpriv=%p\n", ep, ep_priv); imx21_hc_endpoint_disable()
1446 if (ep_priv != NULL) { imx21_hc_endpoint_disable()
1448 if (ep_priv->etd[i] > -1) imx21_hc_endpoint_disable()
1450 ep_priv->etd[i]); imx21_hc_endpoint_disable()
1452 free_etd(imx21, ep_priv->etd[i]); imx21_hc_endpoint_disable()
1454 kfree(ep_priv); imx21_hc_endpoint_disable()
880 dequeue_isoc_urb(struct imx21 *imx21, struct urb *urb, struct ep_priv *ep_priv) dequeue_isoc_urb() argument
H A Dimx21-dbg.c214 struct ep_priv *ep_priv; debug_status_show() local
233 list_for_each_entry(ep_priv, &imx21->queue_for_etd, queue) debug_status_show()
H A Dimx21-hcd.h341 struct ep_priv { struct

Completed in 87 milliseconds