Lines Matching refs:usb

57 u16 fhci_get_sof_timer_count(struct fhci_usb *usb)  in fhci_get_sof_timer_count()  argument
59 return be16_to_cpu(in_be16(&usb->fhci->regs->usb_ussft) / 12); in fhci_get_sof_timer_count()
63 static u32 endpoint_zero_init(struct fhci_usb *usb, in endpoint_zero_init() argument
69 rc = fhci_create_ep(usb, data_mem, ring_len); in endpoint_zero_init()
74 fhci_init_ep_registers(usb, usb->ep0, data_mem); in endpoint_zero_init()
80 void fhci_usb_enable_interrupt(struct fhci_usb *usb) in fhci_usb_enable_interrupt() argument
82 struct fhci_hcd *fhci = usb->fhci; in fhci_usb_enable_interrupt()
84 if (usb->intr_nesting_cnt == 1) { in fhci_usb_enable_interrupt()
89 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_usb_enable_interrupt()
90 out_be16(&usb->fhci->regs->usb_usbmr, usb->saved_msk); in fhci_usb_enable_interrupt()
94 } else if (usb->intr_nesting_cnt > 1) in fhci_usb_enable_interrupt()
96 usb->intr_nesting_cnt--; in fhci_usb_enable_interrupt()
100 void fhci_usb_disable_interrupt(struct fhci_usb *usb) in fhci_usb_disable_interrupt() argument
102 struct fhci_hcd *fhci = usb->fhci; in fhci_usb_disable_interrupt()
104 if (usb->intr_nesting_cnt == 0) { in fhci_usb_disable_interrupt()
110 out_be16(&usb->fhci->regs->usb_usbmr, 0); in fhci_usb_disable_interrupt()
112 usb->intr_nesting_cnt++; in fhci_usb_disable_interrupt()
118 struct fhci_usb *usb = fhci->usb_lld; in fhci_usb_enable() local
120 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_usb_enable()
121 out_be16(&usb->fhci->regs->usb_usbmr, usb->saved_msk); in fhci_usb_enable()
122 setbits8(&usb->fhci->regs->usb_usmod, USB_MODE_EN); in fhci_usb_enable()
132 struct fhci_usb *usb = fhci->usb_lld; in fhci_usb_disable() local
134 fhci_usb_disable_interrupt(usb); in fhci_usb_disable()
138 if (usb->port_status == FHCI_PORT_FULL || in fhci_usb_disable()
139 usb->port_status == FHCI_PORT_LOW) in fhci_usb_disable()
142 clrbits8(&usb->fhci->regs->usb_usmod, USB_MODE_EN); in fhci_usb_disable()
243 struct fhci_usb *usb = lld; in fhci_usb_free() local
246 if (usb) { in fhci_usb_free()
247 fhci = usb->fhci; in fhci_usb_free()
249 fhci_ep0_free(usb); in fhci_usb_free()
250 kfree(usb->actual_frame); in fhci_usb_free()
251 kfree(usb); in fhci_usb_free()
258 struct fhci_usb *usb = fhci->usb_lld; in fhci_usb_init() local
260 memset_io(usb->fhci->pram, 0, FHCI_PRAM_SIZE); in fhci_usb_init()
262 usb->port_status = FHCI_PORT_DISABLED; in fhci_usb_init()
263 usb->max_frame_usage = FRAME_TIME_USAGE; in fhci_usb_init()
264 usb->sw_transaction_time = SW_FIX_TIME_BETWEEN_TRANSACTION; in fhci_usb_init()
266 usb->actual_frame = kzalloc(sizeof(*usb->actual_frame), GFP_KERNEL); in fhci_usb_init()
267 if (!usb->actual_frame) { in fhci_usb_init()
268 fhci_usb_free(usb); in fhci_usb_init()
272 INIT_LIST_HEAD(&usb->actual_frame->tds_list); in fhci_usb_init()
281 usb->saved_msk = (USB_E_TXB_MASK | in fhci_usb_init()
286 out_8(&usb->fhci->regs->usb_usmod, USB_MODE_HOST | USB_MODE_EN); in fhci_usb_init()
289 out_be16(&usb->fhci->regs->usb_usbmr, 0); in fhci_usb_init()
292 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_usb_init()
294 if (endpoint_zero_init(usb, DEFAULT_DATA_MEM, DEFAULT_RING_LEN) != 0) { in fhci_usb_init()
295 fhci_usb_free(usb); in fhci_usb_init()
305 struct fhci_usb *usb; in fhci_create_lld() local
308 usb = kzalloc(sizeof(*usb), GFP_KERNEL); in fhci_create_lld()
309 if (!usb) in fhci_create_lld()
312 usb->fhci = fhci; in fhci_create_lld()
313 usb->hc_list = fhci->hc_list; in fhci_create_lld()
314 usb->vroot_hub = fhci->vroot_hub; in fhci_create_lld()
316 usb->transfer_confirm = fhci_transfer_confirm_callback; in fhci_create_lld()
318 return usb; in fhci_create_lld()
468 struct fhci_usb *usb = fhci->usb_lld; in fhci_urb_dequeue() local
481 if (usb->port_status != FHCI_PORT_DISABLED) { in fhci_urb_dequeue()