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