Lines Matching refs:controller

137 static struct ci_drv controller = {  variable
155 return &controller.epts[(ep_num * 2) + dir_in]; in ci_get_qh()
169 uint8_t *imem = controller.items_mem + (index * ILIST_ENT_SZ); in ci_get_qtd()
269 if (num == 0 && controller.ep0_req) in ci_ep_alloc_request()
270 return &controller.ep0_req->req; in ci_ep_alloc_request()
279 controller.ep0_req = ci_req; in ci_ep_alloc_request()
294 if (!controller.ep0_req) in ci_ep_free_request()
296 controller.ep0_req = 0; in ci_ep_free_request()
306 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in ep_enable()
336 if ((max > 64) && (controller.gadget.speed == USB_SPEED_FULL)) in ci_ep_enable()
423 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in ci_ep_submit_next_request()
642 if (num != 0 || controller.ep0_data_phase) in handle_ep_complete()
644 if (num == 0 && controller.ep0_data_phase) { in handle_ep_complete()
651 controller.ep0_data_phase = false; in handle_ep_complete()
661 struct ci_ep *ci_ep = &controller.ep[0]; in handle_setup()
664 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in handle_setup()
671 ci_req = controller.ep0_req; in handle_setup()
695 controller.ep0_data_phase = true; in handle_setup()
700 controller.ep0_data_phase = false; in handle_setup()
714 struct ci_ep *ep = &controller.ep[i]; in handle_setup()
724 usb_ep_queue(controller.gadget.ep0, in handle_setup()
739 usb_ep_queue(controller.gadget.ep0, req, 0); in handle_setup()
747 usb_ep_queue(controller.gadget.ep0, req, 0); in handle_setup()
751 if (controller.driver) in handle_setup()
752 status = controller.driver->setup(&controller.gadget, &r); in handle_setup()
767 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in stop_activity()
779 if (controller.ep[i].desc) { in stop_activity()
780 num = controller.ep[i].desc->bEndpointAddress in stop_activity()
782 in = (controller.ep[i].desc->bEndpointAddress in stop_activity()
793 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in udc_irq()
823 controller.gadget.speed = speed; in udc_irq()
825 if (controller.ep[i].ep.maxpacket > max) in udc_irq()
826 controller.ep[i].ep.maxpacket = max; in udc_irq()
847 if (controller.ep[i].desc) { in udc_irq()
848 num = controller.ep[i].desc->bEndpointAddress in udc_irq()
850 in = (controller.ep[i].desc->bEndpointAddress in udc_irq()
854 handle_ep_complete(&controller.ep[i]); in udc_irq()
863 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in usb_gadget_handle_interrupts()
874 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in udc_disconnect()
879 if (controller.driver) in udc_disconnect()
880 controller.driver->disconnect(&controller.gadget); in udc_disconnect()
885 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in ci_pullup()
891 writel((unsigned long)controller.epts, &udc->epinitaddr); in ci_pullup()
925 controller.epts = memalign(eplist_align, eplist_sz); in ci_udc_probe()
926 if (!controller.epts) in ci_udc_probe()
928 memset(controller.epts, 0, eplist_sz); in ci_udc_probe()
930 controller.items_mem = memalign(ILIST_ALIGN, ILIST_SZ); in ci_udc_probe()
931 if (!controller.items_mem) { in ci_udc_probe()
932 free(controller.epts); in ci_udc_probe()
935 memset(controller.items_mem, 0, ILIST_SZ); in ci_udc_probe()
945 head = controller.epts + i; in ci_udc_probe()
961 INIT_LIST_HEAD(&controller.gadget.ep_list); in ci_udc_probe()
964 memcpy(&controller.ep[0].ep, &ci_ep_init[0], sizeof(*ci_ep_init)); in ci_udc_probe()
965 controller.ep[0].desc = &ep0_desc; in ci_udc_probe()
966 INIT_LIST_HEAD(&controller.ep[0].queue); in ci_udc_probe()
967 controller.ep[0].req_primed = false; in ci_udc_probe()
968 controller.gadget.ep0 = &controller.ep[0].ep; in ci_udc_probe()
969 INIT_LIST_HEAD(&controller.gadget.ep0->ep_list); in ci_udc_probe()
973 memcpy(&controller.ep[i].ep, &ci_ep_init[i], in ci_udc_probe()
975 INIT_LIST_HEAD(&controller.ep[i].queue); in ci_udc_probe()
976 controller.ep[i].req_primed = false; in ci_udc_probe()
977 list_add_tail(&controller.ep[i].ep.ep_list, in ci_udc_probe()
978 &controller.gadget.ep_list); in ci_udc_probe()
983 memcpy(&controller.ep[i].ep, &ci_ep_init[4], in ci_udc_probe()
985 INIT_LIST_HEAD(&controller.ep[i].queue); in ci_udc_probe()
986 controller.ep[i].req_primed = false; in ci_udc_probe()
987 list_add_tail(&controller.ep[i].ep.ep_list, in ci_udc_probe()
988 &controller.gadget.ep_list); in ci_udc_probe()
991 ci_ep_alloc_request(&controller.ep[0].ep, 0); in ci_udc_probe()
992 if (!controller.ep0_req) { in ci_udc_probe()
993 free(controller.items_mem); in ci_udc_probe()
994 free(controller.epts); in ci_udc_probe()
1013 ret = usb_setup_ehci_gadget(&controller.ctrl); in usb_gadget_register_driver()
1015 ret = usb_lowlevel_init(0, USB_INIT_DEVICE, (void **)&controller.ctrl); in usb_gadget_register_driver()
1026 ret = driver->bind(&controller.gadget); in usb_gadget_register_driver()
1031 controller.driver = driver; in usb_gadget_register_driver()
1040 driver->unbind(&controller.gadget); in usb_gadget_unregister_driver()
1041 controller.driver = NULL; in usb_gadget_unregister_driver()
1043 ci_ep_free_request(&controller.ep[0].ep, &controller.ep0_req->req); in usb_gadget_unregister_driver()
1044 free(controller.items_mem); in usb_gadget_unregister_driver()
1045 free(controller.epts); in usb_gadget_unregister_driver()
1052 struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor; in dfu_usb_get_reset()