Lines Matching refs:pHcd

106 extern void ms_ehci_disable_ep (struct usb_hcd *pHcd, struct s_hcd_dev *pDev, int iEp);
107 extern int ms_hub_status_data (struct usb_hcd *pHcd, char *pBuf);
108 extern int ms_hub_control ( struct usb_hcd *pHcd, U16 typeReq, U16 u16Value, U16 u16I…
267 struct usb_hcd *pHcd, in ms_rh_string() argument
283 strncpy(pu8Buf, pHcd->self.bus_name, sizeof(pu8Buf)-1); in ms_rh_string()
288 strncpy(pu8Buf, pHcd->product_desc, sizeof(pu8Buf)); in ms_rh_string()
311 static int ms_rh_call_control (struct usb_hcd *pHcd, struct urb *pUrb) in ms_rh_call_control() argument
320 pUrb->hcpriv = pHcd; in ms_rh_call_control()
349 if (pHcd->hcd_flags & HCD_HS) in ms_rh_call_control()
351 else if (pHcd->hcd_flags & HCD_FS) in ms_rh_call_control()
358 if (pHcd->hcd_flags & HCD_HS) in ms_rh_call_control()
371 u16Value & 0xff, pHcd, ubuf, u16Length); in ms_rh_call_control()
392 pUrb->s32Status = ms_hub_control (pHcd, u16TypeReq, u16Value, u16Index, in ms_rh_call_control()
432 void ms_hcd_poll_rh_status(struct usb_hcd *pHcd) in ms_hcd_poll_rh_status() argument
440 if (!pHcd->roothub_registered) in ms_hcd_poll_rh_status()
445 iLen = ms_hub_status_data(pHcd, aBuf); in ms_hcd_poll_rh_status()
450 pUrb = pHcd->hcd_status_urb; in ms_hcd_poll_rh_status()
453 pHcd->hcd_poll_pending = 0; in ms_hcd_poll_rh_status()
454 pHcd->hcd_status_urb = NULL; in ms_hcd_poll_rh_status()
467 pHcd->hcd_poll_pending = 1; in ms_hcd_poll_rh_status()
486 static int ms_rh_queue_status (struct usb_hcd *pHcd, struct urb *pUrb) in ms_rh_queue_status() argument
494 if (pHcd->hcd_status_urb || pUrb->u32TransferBufferLength < iLen) in ms_rh_queue_status()
501 pHcd->hcd_status_urb = pUrb; in ms_rh_queue_status()
502 pUrb->hcpriv = pHcd; in ms_rh_queue_status()
505 if (pHcd->hcd_poll_pending) in ms_rh_queue_status()
506 ms_update_timer(&pHcd->roothub_timer, USB_SW_TIMER_TICK, 0); in ms_rh_queue_status()
523 static int ms_rh_urb_enqueue (struct usb_hcd *pHcd, struct urb *pUrb) in ms_rh_urb_enqueue() argument
532 iRetval = ms_rh_queue_status (pHcd, pUrb); in ms_rh_urb_enqueue()
539 return ms_rh_call_control (pHcd, pUrb); in ms_rh_urb_enqueue()
550 void ms_rh_status_dequeue (struct usb_hcd *pHcd, struct urb *pUrb) in ms_rh_status_dequeue() argument
563 if (pUrb == pHcd->hcd_status_urb) in ms_rh_status_dequeue()
565 pHcd->hcd_status_urb = NULL; in ms_rh_status_dequeue()
581 void ms_usb_hcd_cpe_ehci_remove (struct usb_hcd *pHcd) in ms_usb_hcd_cpe_ehci_remove() argument
586 ms_debug_msg ("remove: %s, state %x\n", pHcd->self.bus_name, pHcd->state); in ms_usb_hcd_cpe_ehci_remove()
587 pHub = pHcd->self.root_hub; in ms_usb_hcd_cpe_ehci_remove()
589 if (HCD_IS_RUNNING (pHcd->state)) in ms_usb_hcd_cpe_ehci_remove()
590 pHcd->state = HCD_STATE_QUIESCING; in ms_usb_hcd_cpe_ehci_remove()
593 pHcd->roothub_registered = 0; in ms_usb_hcd_cpe_ehci_remove()
596 ms_debug_msg ("%s: roothub graceful disconnect\n", pHcd->self.bus_name); in ms_usb_hcd_cpe_ehci_remove()
600 ms_debug_msg ("%s: roothub disconnect done\n", pHcd->self.bus_name); in ms_usb_hcd_cpe_ehci_remove()
602 ms_del_timer_sync(&pHcd->roothub_timer); in ms_usb_hcd_cpe_ehci_remove()
604 ms_ehci_end(pHcd); // hcd driver stop in ms_usb_hcd_cpe_ehci_remove()
605 pHcd->state = HCD_STATE_HALT; in ms_usb_hcd_cpe_ehci_remove()
608 ms_release_OS_Resource_EX(&pHcd->USBWaitFlg); in ms_usb_hcd_cpe_ehci_remove()
609 ms_hcd_buffer_destroy (pHcd); in ms_usb_hcd_cpe_ehci_remove()
611 ms_usb_deregister_bus (&pHcd->self); in ms_usb_hcd_cpe_ehci_remove()
612 kfree (hcd_to_ehci(pHcd)); in ms_usb_hcd_cpe_ehci_remove()
662 inline static void ms_rh_timer_func (unsigned long pHcd) in ms_rh_timer_func() argument
664 ms_hcd_poll_rh_status((struct usb_hcd *) pHcd); in ms_rh_timer_func()
675 extern int ms_ehci_init (struct usb_hcd *pHcd);
676 extern int ms_urb_enqueue (struct usb_hcd *pHcd, struct urb *pUrb, int iMem_flags);
677 extern int ms_urb_dequeue (struct usb_hcd *pHcd, struct urb *pUrb);
683 struct usb_hcd *pHcd = 0; in ms_new_usb_hcd() local
698 pHcd = (struct usb_hcd *)(&pEhci->hcd); in ms_new_usb_hcd()
699 ms_debug_func("pHcd: %lx\n", (U32)pHcd); in ms_new_usb_hcd()
701 pHcd->host_id = pDev->devid; // chcek the definition in ms_new_usb_hcd()
702 pHcd->phub_event = pDev->pHubEvent; in ms_new_usb_hcd()
703 pHcd->ehci_irq = pDev->intNum; in ms_new_usb_hcd()
704 pHcd->uhc_regs = (U32*) pDev->uhcbase; in ms_new_usb_hcd()
705 pHcd->self.controller = &pDev->dev; in ms_new_usb_hcd()
706 pHcd->controller = pHcd->self.controller; in ms_new_usb_hcd()
707 pHcd->hcd_flags = HCD_HS; in ms_new_usb_hcd()
709 iRetVal = ms_hcd_buffer_create (pHcd); in ms_new_usb_hcd()
716 if ((iRetVal = ms_ehci_init(pHcd)) < 0) in ms_new_usb_hcd()
723 pHcd->uhc_regs, pHcd->ehci_irq); in ms_new_usb_hcd()
724 ms_usb_bus_init (&pHcd->self); in ms_new_usb_hcd()
726 pHcd->self.hcpriv = (void *) pHcd; in ms_new_usb_hcd()
728 pHcd->self.bus_name = pDev->bus_name; in ms_new_usb_hcd()
730 memcpy(pHcd->product_desc, pDev->product_desc, sizeof(pHcd->product_desc)); in ms_new_usb_hcd()
732 ms_init_timer(&pHcd->roothub_timer); in ms_new_usb_hcd()
733 pHcd->roothub_timer.function = (void *)ms_rh_timer_func; in ms_new_usb_hcd()
734 pHcd->roothub_timer.data = (unsigned long) pHcd; in ms_new_usb_hcd()
736 pHcd->ms_urb_enqueue = ms_urb_enqueue; in ms_new_usb_hcd()
737 pHcd->ms_urb_dequeue = ms_urb_dequeue; in ms_new_usb_hcd()
741 ms_init_OS_Resource_EX(&pHcd->USBWaitFlg); in ms_new_usb_hcd()
742 ms_list_init (&pHcd->hcd_dev_list); in ms_new_usb_hcd()
743 ms_list_init (&pHcd->tt_clear_list); in ms_new_usb_hcd()
744 ms_usb_register_bus (&pHcd->self); in ms_new_usb_hcd()
746 if ((iRetVal = ms_ehci_begin(pHcd)) < 0) // start HCD in ms_new_usb_hcd()
748 ms_usb_hcd_cpe_ehci_remove(pHcd); in ms_new_usb_hcd()
752 *pHcd_out = pHcd; in ms_new_usb_hcd()
757 ms_hcd_buffer_destroy (pHcd); in ms_new_usb_hcd()
758 if (pHcd) in ms_new_usb_hcd()
759 kfree (hcd_to_ehci (pHcd)); in ms_new_usb_hcd()
841 int ms_register_root_hub(struct usb_hcd *pHcd) in ms_register_root_hub() argument
844 struct device_s *pParent_dev = pHcd->controller; in ms_register_root_hub()
845 struct usb_device *pUsb_dev = pHcd->self.root_hub; in ms_register_root_hub()
869 pHcd->roothub_registered = 1; in ms_register_root_hub()
929 struct usb_hcd *pHcd; in ms_hcd_alloc_dev() local
938 pHcd = (struct usb_hcd*) iUdev->bus->hcpriv; in ms_hcd_alloc_dev()
939 if (pHcd->state == HCD_STATE_QUIESCING) in ms_hcd_alloc_dev()
951 ms_insert_list_after (&pDev->dev_list, &pHcd->hcd_dev_list); in ms_hcd_alloc_dev()
988 struct usb_hcd *pHcd = (struct usb_hcd*) pUrb->dev->bus->hcpriv; in ms_hcd_submit_urb() local
994 if (!pHcd || !pDev) in ms_hcd_submit_urb()
1004 …if ((HCD_IS_RUNNING (pHcd->state) && pHcd->state != HCD_STATE_QUIESCING) || (pUrb->dev == pHcd->se… in ms_hcd_submit_urb()
1013 ms_debug_func("[ms_hcd_submit_urb] return ESHUTDOWN !!! pHcd->state = %x\n", pHcd->state); in ms_hcd_submit_urb()
1021 if (pUrb->dev == pHcd->self.root_hub) in ms_hcd_submit_urb()
1025 iStatus = ms_rh_urb_enqueue (pHcd, pUrb); in ms_hcd_submit_urb()
1029 if (pHcd->controller->dma_mask) in ms_hcd_submit_urb()
1111 iStatus = pHcd->ms_urb_enqueue (pHcd, pUrb, iMem_flags); in ms_hcd_submit_urb()
1136 ms_unlink1 (struct usb_hcd *pHcd, struct urb *pUrb) in ms_unlink1() argument
1143 ms_rh_status_dequeue(pHcd, pUrb); in ms_unlink1()
1146 retval = pHcd->ms_urb_dequeue(pHcd, pUrb); in ms_unlink1()
1180 struct usb_hcd *pHcd = 0; in ms_hcd_unlink_urb() local
1205 pHcd = (struct usb_hcd*) pUrb->dev->bus->hcpriv; in ms_hcd_unlink_urb()
1206 if (!dev || !pHcd) in ms_hcd_unlink_urb()
1241 iRetval = ms_unlink1(pHcd, pUrb); in ms_hcd_unlink_urb()
1334 struct usb_hcd *pHcd; in ms_hcd_endpoint_disable() local
1337 pHcd = (struct usb_hcd*) pUdev->bus->hcpriv; in ms_hcd_endpoint_disable()
1346 ms_ehci_disable_ep(pHcd, pDev, iEndpoint); in ms_hcd_endpoint_disable()
1354 struct usb_hcd *pHcd = (struct usb_hcd*) pUdev->bus->hcpriv; in ms_usb_hcd_flush_endpoint() local
1406 ms_unlink1 (pHcd, pUrb); in ms_usb_hcd_flush_endpoint()
1456 struct usb_hcd *pHcd; in ms_hcd_free_dev() local
1476 pHcd = (struct usb_hcd*) pUdev->bus->hcpriv; in ms_hcd_free_dev()
1481 pHcd->self.bus_name, (int)pUdev->u32DevNum); in ms_hcd_free_dev()