Lines Matching refs:usb
99 void fhci_ep0_free(struct fhci_usb *usb) in fhci_ep0_free() argument
104 ep = usb->ep0; in fhci_ep0_free()
140 usb->ep0 = NULL; in fhci_ep0_free()
152 u32 fhci_create_ep(struct fhci_usb *usb, enum fhci_mem_alloc data_mem, in fhci_create_ep() argument
164 fhci_err(usb->fhci, "illegal TD ring length parameters\n"); in fhci_create_ep()
228 usb->ep0 = ep; in fhci_create_ep()
232 fhci_ep0_free(usb); in fhci_create_ep()
234 fhci_err(usb->fhci, "no memory for the %s\n", err_for); in fhci_create_ep()
246 void fhci_init_ep_registers(struct fhci_usb *usb, struct endpoint *ep, in fhci_init_ep_registers() argument
252 out_be16(&usb->fhci->regs->usb_ep[0], in fhci_init_ep_registers()
254 out_be16(&usb->fhci->pram->ep_ptr[0], in fhci_init_ep_registers()
281 static void fhci_td_transaction_confirm(struct fhci_usb *usb) in fhci_td_transaction_confirm() argument
283 struct endpoint *ep = usb->ep0; in fhci_td_transaction_confirm()
324 fhci_err(usb->fhci, "no frame to confirm\n"); in fhci_td_transaction_confirm()
339 fhci_err(usb->fhci, "illegal error " in fhci_td_transaction_confirm()
350 fhci_err(usb->fhci, "illegal error occurred\n"); in fhci_td_transaction_confirm()
363 fhci_transaction_confirm(usb, pkt); in fhci_td_transaction_confirm()
381 u32 fhci_host_transaction(struct fhci_usb *usb, in fhci_host_transaction() argument
389 struct endpoint *ep = usb->ep0; in fhci_host_transaction()
394 fhci_usb_disable_interrupt(usb); in fhci_host_transaction()
401 fhci_usb_enable_interrupt(usb); in fhci_host_transaction()
407 fhci_usb_enable_interrupt(usb); in fhci_host_transaction()
451 (usb->port_status == FHCI_PORT_FULL)) in fhci_host_transaction()
466 out_8(&usb->fhci->regs->usb_comm, USB_CMD_STR_FIFO); in fhci_host_transaction()
472 void fhci_flush_bds(struct fhci_usb *usb) in fhci_flush_bds() argument
478 struct endpoint *ep = usb->ep0; in fhci_flush_bds()
499 fhci_td_transaction_confirm(usb); in fhci_flush_bds()
527 void fhci_flush_actual_frame(struct fhci_usb *usb) in fhci_flush_actual_frame() argument
535 struct endpoint *ep = usb->ep0; in fhci_flush_actual_frame()
538 mode = in_8(&usb->fhci->regs->usb_mod); in fhci_flush_actual_frame()
539 out_8(&usb->fhci->regs->usb_mod, mode & ~USB_MODE_EN); in fhci_flush_actual_frame()
562 fhci_td_transaction_confirm(usb); in fhci_flush_actual_frame()
571 usb->actual_frame->frame_status = FRAME_TIMER_END_TRANSMISSION; in fhci_flush_actual_frame()
574 out_be16(&usb->fhci->regs->usb_event, 0xffff); in fhci_flush_actual_frame()
576 out_8(&usb->fhci->regs->usb_mod, mode | USB_MODE_EN); in fhci_flush_actual_frame()
580 void fhci_tx_conf_interrupt(struct fhci_usb *usb) in fhci_tx_conf_interrupt() argument
582 fhci_td_transaction_confirm(usb); in fhci_tx_conf_interrupt()
588 if (((fhci_get_sof_timer_count(usb) < usb->max_frame_usage) || in fhci_tx_conf_interrupt()
589 (usb->actual_frame->frame_status & FRAME_END_TRANSMISSION)) && in fhci_tx_conf_interrupt()
590 (list_empty(&usb->actual_frame->tds_list))) in fhci_tx_conf_interrupt()
591 fhci_schedule_transactions(usb); in fhci_tx_conf_interrupt()
594 void fhci_host_transmit_actual_frame(struct fhci_usb *usb) in fhci_host_transmit_actual_frame() argument
599 struct endpoint *ep = usb->ep0; in fhci_host_transmit_actual_frame()
616 out_8(&usb->fhci->regs->usb_comm, USB_CMD_STR_FIFO); in fhci_host_transmit_actual_frame()