Lines Matching refs:hcd

78 static inline struct imx21 *hcd_to_imx21(struct usb_hcd *hcd)  in hcd_to_imx21()  argument
80 return (struct imx21 *)hcd->hcd_priv; in hcd_to_imx21()
138 static int imx21_hc_get_frame(struct usb_hcd *hcd) in imx21_hc_get_frame() argument
140 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_get_frame()
520 static void urb_done(struct usb_hcd *hcd, struct urb *urb, int status) in urb_done() argument
524 struct imx21 *imx21 = hcd_to_imx21(hcd); in urb_done()
534 usb_hcd_unlink_urb_from_ep(hcd, urb); in urb_done()
536 usb_hcd_giveback_urb(hcd, urb, status); in urb_done()
547 urb_done(imx21->hcd, etd->urb, status); in nonisoc_urb_completed_for_etd()
564 static void schedule_isoc_etds(struct usb_hcd *hcd, in schedule_isoc_etds() argument
567 struct imx21 *imx21 = hcd_to_imx21(hcd); in schedule_isoc_etds()
594 cur_frame = imx21_hc_get_frame(hcd); in schedule_isoc_etds()
603 urb_done(hcd, td->urb, urb_priv->isoc_status); in schedule_isoc_etds()
631 static void isoc_etd_done(struct usb_hcd *hcd, int etd_num) in isoc_etd_done() argument
633 struct imx21 *imx21 = hcd_to_imx21(hcd); in isoc_etd_done()
661 imx21_hc_get_frame(hcd), td, cc, bytes_xfrd); in isoc_etd_done()
667 cc, imx21_hc_get_frame(hcd), td->frame, in isoc_etd_done()
688 urb_done(hcd, urb, urb_priv->isoc_status); in isoc_etd_done()
690 schedule_isoc_etds(hcd, ep); in isoc_etd_done()
739 static int imx21_hc_urb_enqueue_isoc(struct usb_hcd *hcd, in imx21_hc_urb_enqueue_isoc() argument
743 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_urb_enqueue_isoc()
780 ret = usb_hcd_link_urb_to_ep(hcd, urb); in imx21_hc_urb_enqueue_isoc()
815 cur_frame = imx21_hc_get_frame(hcd); in imx21_hc_urb_enqueue_isoc()
861 schedule_isoc_etds(hcd, ep); in imx21_hc_urb_enqueue_isoc()
867 usb_hcd_unlink_urb_from_ep(hcd, urb); in imx21_hc_urb_enqueue_isoc()
944 usb_hcd_unmap_urb_setup_for_dma(imx21->hcd, in schedule_nonisoc_etd()
961 usb_hcd_unmap_urb_for_dma(imx21->hcd, urb); in schedule_nonisoc_etd()
1043 static void nonisoc_etd_done(struct usb_hcd *hcd, int etd_num) in nonisoc_etd_done() argument
1045 struct imx21 *imx21 = hcd_to_imx21(hcd); in nonisoc_etd_done()
1164 static int imx21_hc_urb_enqueue(struct usb_hcd *hcd, in imx21_hc_urb_enqueue() argument
1167 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_urb_enqueue()
1184 return imx21_hc_urb_enqueue_isoc(hcd, ep, urb, mem_flags); in imx21_hc_urb_enqueue()
1203 ret = usb_hcd_link_urb_to_ep(hcd, urb); in imx21_hc_urb_enqueue()
1260 static int imx21_hc_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, in imx21_hc_urb_dequeue() argument
1263 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_urb_dequeue()
1275 ret = usb_hcd_check_unlink_urb(hcd, urb, status); in imx21_hc_urb_dequeue()
1285 schedule_isoc_etds(hcd, ep); in imx21_hc_urb_dequeue()
1299 urb_done(hcd, urb, status); in imx21_hc_urb_dequeue()
1313 static void process_etds(struct usb_hcd *hcd, struct imx21 *imx21, int sof) in process_etds() argument
1395 isoc_etd_done(hcd, etd_num); in process_etds()
1397 nonisoc_etd_done(hcd, etd_num); in process_etds()
1410 static irqreturn_t imx21_irq(struct usb_hcd *hcd) in imx21_irq() argument
1412 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_irq()
1422 process_etds(hcd, imx21, ints & USBH_SYSISR_SOFINT); in imx21_irq()
1428 static void imx21_hc_endpoint_disable(struct usb_hcd *hcd, in imx21_hc_endpoint_disable() argument
1431 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_endpoint_disable()
1473 static int get_hub_descriptor(struct usb_hcd *hcd, in get_hub_descriptor() argument
1476 struct imx21 *imx21 = hcd_to_imx21(hcd); in get_hub_descriptor()
1493 static int imx21_hc_hub_status_data(struct usb_hcd *hcd, char *buf) in imx21_hc_hub_status_data() argument
1495 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_hub_status_data()
1527 static int imx21_hc_hub_control(struct usb_hcd *hcd, in imx21_hc_hub_control() argument
1531 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_hub_control()
1597 rc = get_hub_descriptor(hcd, (void *)buf); in imx21_hc_hub_control()
1667 static int imx21_hc_reset(struct usb_hcd *hcd) in imx21_hc_reset() argument
1669 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_reset()
1696 static int imx21_hc_start(struct usb_hcd *hcd) in imx21_hc_start() argument
1698 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_start()
1751 hcd->state = HC_STATE_RUNNING; in imx21_hc_start()
1764 static void imx21_hc_stop(struct usb_hcd *hcd) in imx21_hc_stop() argument
1766 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_hc_stop()
1819 struct usb_hcd *hcd = platform_get_drvdata(pdev); in imx21_remove() local
1820 struct imx21 *imx21 = hcd_to_imx21(hcd); in imx21_remove()
1824 usb_remove_hcd(hcd); in imx21_remove()
1833 kfree(hcd); in imx21_remove()
1840 struct usb_hcd *hcd; in imx21_probe() local
1855 hcd = usb_create_hcd(&imx21_hc_driver, in imx21_probe()
1857 if (hcd == NULL) { in imx21_probe()
1863 imx21 = hcd_to_imx21(hcd); in imx21_probe()
1864 imx21->hcd = hcd; in imx21_probe()
1907 ret = usb_add_hcd(hcd, irq, 0); in imx21_probe()
1912 device_wakeup_enable(hcd->self.controller); in imx21_probe()
1927 usb_put_hcd(hcd); in imx21_probe()