- /* trigger control list */
- set32(reg+OHCI_HC_CONTROL, OHCI_CTRL_CLE);
- write32(reg+OHCI_HC_COMMAND_STATUS, OHCI_CLF);
+ /* start transfer */
+ switch(edhead->type) {
+ case USB_CTRL:
+ /* trigger control list */
+ set32(reg+OHCI_HC_CONTROL, OHCI_CTRL_CLE);
+ write32(reg+OHCI_HC_COMMAND_STATUS, OHCI_CLF);
+ break;
+
+ case USB_INTR:
+ /* trigger periodic list */
+ set32(reg+OHCI_HC_CONTROL, OHCI_CTRL_PLE);
+ break;
+
+ case USB_BULK:
+ /* trigger bulk list */
+ set32(reg+OHCI_HC_CONTROL, OHCI_CTRL_BLE);
+ write32(reg+OHCI_HC_COMMAND_STATUS, OHCI_BLF);
+ break;
+
+ case USB_ISOC:
+ break;
+ }