Lines Matching refs:hcd

270   struct usb_hcd  *hcd,  in rh_string()  argument
284 strncpy(buf, hcd->self.bus_name, sizeof(buf)); in rh_string()
288 strncpy(buf, hcd->product_desc, sizeof(buf)); in rh_string()
292 hcd->description); in rh_string()
322 static int rh_call_control (struct usb_hcd *hcd, struct urb *urb) in rh_call_control() argument
331 urb->hcpriv = hcd; in rh_call_control()
357 dev_dbg (hcd->controller, "no device features set yet%s","\n"); in rh_call_control()
371 if (hcd->driver->flags & HCD_USB2) in rh_call_control()
373 else if (hcd->driver->flags & HCD_USB11) in rh_call_control()
410 if (hcd->driver->flags & HCD_USB2) { in rh_call_control()
420 wValue & 0xff, hcd, in rh_call_control()
467 dev_dbg (hcd->controller, "[root hub] device address %d\n", in rh_call_control()
511 dev_dbg (hcd->controller, "[no endpoint features yet]%s","\n"); in rh_call_control()
517 urb->status = hcd->driver->hub_control (hcd, in rh_call_control()
525 dev_dbg (hcd->controller, "[unsupported hub control message] (maxchild %d)\n", in rh_call_control()
532 dev_dbg (hcd->controller, "CTRL: TypeReq=0x%x val=0x%x idx=0x%x len=%d ==> %d\n", in rh_call_control()
546 usb_hcd_giveback_urb (hcd, urb, NULL); in rh_call_control()
586 static int rh_status_urb (struct usb_hcd *hcd, struct urb *urb) in rh_status_urb() argument
592 if (hcd->rh_timer.data in rh_status_urb()
595 || !HCD_IS_RUNNING (hcd->state)) { in rh_status_urb()
596 dev_dbg (hcd->controller, in rh_status_urb()
604 init_timer (&hcd->rh_timer); in rh_status_urb()
606 hcd->rh_timer.function = rh_report_status; in rh_status_urb()
608 hcd->rh_timer.data = (U32) &hcd->rh_timer; in rh_status_urb()
610 hcd->rh_timer.data_ex = (U32) urb; in rh_status_urb()
612 hcd->rh_timer.tmout_value = ROOTHUB_TIMER_INTERVAL; in rh_status_urb()
614 add_timer (&hcd->rh_timer); in rh_status_urb()
616 urb->hcpriv = hcd; in rh_status_urb()
635 struct usb_hcd *hcd; in rh_report_status() local
647 || (hcd = (struct usb_hcd*) urb->dev->bus->hcpriv) == 0) { in rh_report_status()
656 length = hcd->driver->hub_status_data (hcd, (char*) urb->transfer_buffer); in rh_report_status()
658 if (!HCD_IS_SUSPENDED (hcd->state)) in rh_report_status()
659 length = hcd->driver->hub_status_data (hcd, urb->transfer_buffer); in rh_report_status()
664 hcd->rh_timer.data = 0; in rh_report_status()
670 mod_timer (&hcd->rh_timer, ROOTHUB_TIMER_INTERVAL, 0); in rh_report_status()
676 usb_hcd_giveback_urb (hcd, urb, NULL); in rh_report_status()
701 static int rh_urb_enqueue (struct usb_hcd *hcd, struct urb *urb) in rh_urb_enqueue() argument
708 retval = rh_status_urb (hcd, urb); in rh_urb_enqueue()
713 return rh_call_control (hcd, urb); in rh_urb_enqueue()
729 void usb_rh_status_dequeue (struct usb_hcd *hcd, struct urb *urb) in usb_rh_status_dequeue() argument
732 del_timer_sync (&hcd->rh_timer); in usb_rh_status_dequeue()
733 hcd->rh_timer.data = 0; in usb_rh_status_dequeue()
737 usb_hcd_giveback_urb (hcd, urb, NULL); in usb_rh_status_dequeue()
755 void usb_hcd_poll_rh_status(struct usb_hcd *hcd) in usb_hcd_poll_rh_status() argument
762 if (unlikely(!hcd->rh_registered)) in usb_hcd_poll_rh_status()
764 if (!hcd->uses_new_polling && !hcd->status_urb) in usb_hcd_poll_rh_status()
767 length = hcd->driver->hub_status_data(hcd, buffer); in usb_hcd_poll_rh_status()
772 urb = hcd->status_urb; in usb_hcd_poll_rh_status()
774 hcd->poll_pending = 0; in usb_hcd_poll_rh_status()
775 hcd->status_urb = NULL; in usb_hcd_poll_rh_status()
783 usb_hcd_giveback_urb(hcd, urb, NULL); in usb_hcd_poll_rh_status()
787 hcd->poll_pending = 1; in usb_hcd_poll_rh_status()
793 if (hcd->uses_new_polling ? hcd->poll_rh : in usb_hcd_poll_rh_status()
794 (length == 0 && hcd->status_urb != NULL)) in usb_hcd_poll_rh_status()
795 mod_timer (&hcd->rh_timer, (jiffies/(HZ/4) + 1) * (HZ/4), 0); in usb_hcd_poll_rh_status()
836 static int rh_queue_status (struct usb_hcd *hcd, struct urb *urb) in rh_queue_status() argument
843 if (hcd->status_urb || urb->transfer_buffer_length < len) { in rh_queue_status()
844 dev_dbg (hcd->self.controller, "not queuing rh status urb\n"); in rh_queue_status()
870 hcd->status_urb = urb; in rh_queue_status()
871 urb->hcpriv = hcd; /* indicate it's queued */ in rh_queue_status()
872 if (!hcd->uses_new_polling) in rh_queue_status()
873 mod_timer(&hcd->rh_timer, (jiffies/(HZ/4) + 1) * (HZ/4), 0); in rh_queue_status()
876 else if (hcd->poll_pending) in rh_queue_status()
877 mod_timer(&hcd->rh_timer, jiffies, 0); in rh_queue_status()
915 static int rh_urb_enqueue (struct usb_hcd *hcd, struct urb *urb) in rh_urb_enqueue() argument
923 retval = rh_queue_status (hcd, urb); in rh_urb_enqueue()
928 return rh_call_control (hcd, urb); in rh_urb_enqueue()
935 void usb_rh_status_dequeue (struct usb_hcd *hcd, struct urb *urb) in usb_rh_status_dequeue() argument
947 if (!hcd->uses_new_polling) in usb_rh_status_dequeue()
948 del_timer (&hcd->rh_timer); in usb_rh_status_dequeue()
949 if (urb == hcd->status_urb) { in usb_rh_status_dequeue()
950 hcd->status_urb = NULL; in usb_rh_status_dequeue()
955 usb_hcd_giveback_urb(hcd, urb, NULL); in usb_rh_status_dequeue()
1169 int register_root_hub(struct usb_hcd *hcd) in register_root_hub() argument
1172 struct device_s *parent_dev = hcd->controller; in register_root_hub()
1173 struct usb_device *usb_dev = hcd->self.root_hub; in register_root_hub()
1191 hcd->rh_registered = 1; in register_root_hub()
1506 struct usb_hcd *hcd; in hcd_alloc_dev() local
1513 hcd = (struct usb_hcd*) udev->bus->hcpriv; in hcd_alloc_dev()
1514 if (hcd->state == USB_STATE_QUIESCING) in hcd_alloc_dev()
1547 list_add (&dev->dev_list, &hcd->dev_list); in hcd_alloc_dev()
1609 struct usb_hcd *hcd = (struct usb_hcd*) urb->dev->bus->hcpriv; in hcd_submit_urb() local
1611 struct ehci_hcd *ehci = hcd_to_ehci (hcd); in hcd_submit_urb()
1615 return (hcd->driver->urb_enqueue (hcd, urb, mem_flags)); in hcd_submit_urb()
1617 if (!hcd || !dev) in hcd_submit_urb()
1627 if (HCD_IS_RUNNING (hcd->state) && hcd->state != USB_STATE_QUIESCING) { in hcd_submit_urb()
1633 diag_printf("hcd_submit_urb return ESHUTDOWN !!! hcd->state = %x\n", hcd->state); in hcd_submit_urb()
1642 if (urb->dev == hcd->self.root_hub) { in hcd_submit_urb()
1646 status = rh_urb_enqueue (hcd, urb); in hcd_submit_urb()
1653 if (hcd->controller->dma_mask) { in hcd_submit_urb()
1754 status = hcd->driver->urb_enqueue (hcd, urb, mem_flags); in hcd_submit_urb()
1768 struct usb_hcd *hcd = (struct usb_hcd *)udev->bus->hcpriv; in hcd_get_frame_number() local
1769 if (!HCD_IS_RUNNING (hcd->state)) in hcd_get_frame_number()
1774 return hcd->driver->get_frame_number (hcd); in hcd_get_frame_number()
1810 unlink1 (struct usb_hcd *hcd, struct urb *urb) in unlink1() argument
1812 if (urb == (struct urb *) hcd->rh_timer.data) in unlink1()
1813 usb_rh_status_dequeue (hcd, urb); in unlink1()
1818 value = hcd->driver->urb_dequeue (hcd, urb); in unlink1()
1820 dev_dbg (hcd->controller, in unlink1()
1855 struct usb_hcd *hcd = 0; in hcd_unlink_urb() local
1876 hcd = (struct usb_hcd*) urb->dev->bus->hcpriv; in hcd_unlink_urb()
1877 if (!dev || !hcd) { in hcd_unlink_urb()
1911 if (urb == (struct urb *) hcd->rh_timer.data) { in hcd_unlink_urb()
1912 usb_rh_status_dequeue (hcd, urb); in hcd_unlink_urb()
1915 retval = hcd->driver->urb_dequeue (hcd, urb); in hcd_unlink_urb()
1954 USB_HW_Reset(hcd); in hcd_unlink_urb()
1974 struct usb_hcd *hcd; in hcd_endpoint_disable() local
1980 hcd = (struct usb_hcd*) udev->bus->hcpriv; in hcd_endpoint_disable()
2033 unlink1 (hcd, urb); in hcd_endpoint_disable()
2049 dev_dbg (hcd->controller, in hcd_endpoint_disable()
2065 if (hcd->driver->endpoint_disable) in hcd_endpoint_disable()
2066 hcd->driver->endpoint_disable (hcd, dev, endpoint); in hcd_endpoint_disable()
2095 struct usb_hcd *hcd; in hcd_free_dev() local
2107 hcd = (struct usb_hcd*) udev->bus->hcpriv; in hcd_free_dev()
2111 dev_dbg (hcd->controller, "free busy dev, %s devnum %d (bug!)\n", in hcd_free_dev()
2112 hcd->self.bus_name, udev->devnum); in hcd_free_dev()
2161 void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) in usb_hcd_giveback_urb() argument
2174 struct usb_hcd *hcd = (struct usb_hcd*) __hcd;
2176 hcd->driver->irq (hcd, r,0);
2184 struct usb_hcd *hcd = (struct usb_hcd*) _hcd;
2185 struct usb_device *hub = (struct usb_device*) hcd->self.root_hub;