Lines Matching refs:usb
95 void fhci_ep0_free(struct fhci_usb *usb) in fhci_ep0_free() argument
100 ep = usb->ep0; in fhci_ep0_free()
136 usb->ep0 = NULL; in fhci_ep0_free()
148 u32 fhci_create_ep(struct fhci_usb *usb, enum fhci_mem_alloc data_mem, in fhci_create_ep() argument
160 fhci_err(usb->fhci, "illegal TD ring length parameters\n"); in fhci_create_ep()
224 usb->ep0 = ep; in fhci_create_ep()
228 fhci_ep0_free(usb); in fhci_create_ep()
230 fhci_err(usb->fhci, "no memory for the %s\n", err_for); in fhci_create_ep()
242 void fhci_init_ep_registers(struct fhci_usb *usb, struct endpoint *ep, in fhci_init_ep_registers() argument
248 out_be16(&usb->fhci->regs->usb_usep[0], in fhci_init_ep_registers()
250 out_be16(&usb->fhci->pram->ep_ptr[0], in fhci_init_ep_registers()
277 static void fhci_td_transaction_confirm(struct fhci_usb *usb) in fhci_td_transaction_confirm() argument
279 struct endpoint *ep = usb->ep0; in fhci_td_transaction_confirm()
320 fhci_err(usb->fhci, "no frame to confirm\n"); in fhci_td_transaction_confirm()
335 fhci_err(usb->fhci, "illegal error " in fhci_td_transaction_confirm()
346 fhci_err(usb->fhci, "illegal error occurred\n"); in fhci_td_transaction_confirm()
359 fhci_transaction_confirm(usb, pkt); in fhci_td_transaction_confirm()
377 u32 fhci_host_transaction(struct fhci_usb *usb, in fhci_host_transaction() argument
385 struct endpoint *ep = usb->ep0; in fhci_host_transaction()
390 fhci_usb_disable_interrupt(usb); in fhci_host_transaction()
397 fhci_usb_enable_interrupt(usb); in fhci_host_transaction()
403 fhci_usb_enable_interrupt(usb); in fhci_host_transaction()
447 (usb->port_status == FHCI_PORT_FULL)) in fhci_host_transaction()
462 out_8(&usb->fhci->regs->usb_uscom, USB_CMD_STR_FIFO); in fhci_host_transaction()
468 void fhci_flush_bds(struct fhci_usb *usb) in fhci_flush_bds() argument
472 struct endpoint *ep = usb->ep0; in fhci_flush_bds()
493 fhci_td_transaction_confirm(usb); in fhci_flush_bds()
521 void fhci_flush_actual_frame(struct fhci_usb *usb) in fhci_flush_actual_frame() argument
528 struct endpoint *ep = usb->ep0; in fhci_flush_actual_frame()
531 mode = in_8(&usb->fhci->regs->usb_usmod); in fhci_flush_actual_frame()
532 out_8(&usb->fhci->regs->usb_usmod, mode & ~USB_MODE_EN); in fhci_flush_actual_frame()
555 fhci_td_transaction_confirm(usb); in fhci_flush_actual_frame()
564 usb->actual_frame->frame_status = FRAME_TIMER_END_TRANSMISSION; in fhci_flush_actual_frame()
567 out_be16(&usb->fhci->regs->usb_usber, 0xffff); in fhci_flush_actual_frame()
569 out_8(&usb->fhci->regs->usb_usmod, mode | USB_MODE_EN); in fhci_flush_actual_frame()
573 void fhci_tx_conf_interrupt(struct fhci_usb *usb) in fhci_tx_conf_interrupt() argument
575 fhci_td_transaction_confirm(usb); in fhci_tx_conf_interrupt()
581 if (((fhci_get_sof_timer_count(usb) < usb->max_frame_usage) || in fhci_tx_conf_interrupt()
582 (usb->actual_frame->frame_status & FRAME_END_TRANSMISSION)) && in fhci_tx_conf_interrupt()
583 (list_empty(&usb->actual_frame->tds_list))) in fhci_tx_conf_interrupt()
584 fhci_schedule_transactions(usb); in fhci_tx_conf_interrupt()
587 void fhci_host_transmit_actual_frame(struct fhci_usb *usb) in fhci_host_transmit_actual_frame() argument
592 struct endpoint *ep = usb->ep0; in fhci_host_transmit_actual_frame()
609 out_8(&usb->fhci->regs->usb_uscom, USB_CMD_STR_FIFO); in fhci_host_transmit_actual_frame()