hcd-ohci.c (36ba58044e70a82b93e84b1f31076df847f23109) hcd-ohci.c (8550a02d1239415342959f6a32d178bc05c557cc)
1/*
2 * QEMU USB OHCI Emulation
3 * Copyright (c) 2004 Gianni Tedesco
4 * Copyright (c) 2006 CodeSourcery
5 * Copyright (c) 2006 Openedhand Ltd.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public

--- 816 unchanged lines hidden (view full) ---

825 DMA_DIRECTION_TO_DEVICE);
826 }
827
828 if (!completion) {
829 bool int_req = relative_frame_number == frame_count &&
830 OHCI_BM(iso_td.flags, TD_DI) == 0;
831 dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
832 ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
1/*
2 * QEMU USB OHCI Emulation
3 * Copyright (c) 2004 Gianni Tedesco
4 * Copyright (c) 2006 CodeSourcery
5 * Copyright (c) 2006 Openedhand Ltd.
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public

--- 816 unchanged lines hidden (view full) ---

825 DMA_DIRECTION_TO_DEVICE);
826 }
827
828 if (!completion) {
829 bool int_req = relative_frame_number == frame_count &&
830 OHCI_BM(iso_td.flags, TD_DI) == 0;
831 dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
832 ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
833 usb_packet_setup(&ohci->usb_packet, pid, ep, addr, false, int_req);
833 usb_packet_setup(&ohci->usb_packet, pid, ep, 0, addr, false, int_req);
834 usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, len);
835 usb_handle_packet(dev, &ohci->usb_packet);
836 if (ohci->usb_packet.status == USB_RET_ASYNC) {
837 usb_device_flush_ep_queue(dev, ep);
838 return 1;
839 }
840 }
841 if (ohci->usb_packet.status == USB_RET_SUCCESS) {

--- 187 unchanged lines hidden (view full) ---

1029 */
1030#ifdef DEBUG_PACKET
1031 DPRINTF("Too many pending packets\n");
1032#endif
1033 return 1;
1034 }
1035 dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
1036 ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
834 usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, len);
835 usb_handle_packet(dev, &ohci->usb_packet);
836 if (ohci->usb_packet.status == USB_RET_ASYNC) {
837 usb_device_flush_ep_queue(dev, ep);
838 return 1;
839 }
840 }
841 if (ohci->usb_packet.status == USB_RET_SUCCESS) {

--- 187 unchanged lines hidden (view full) ---

1029 */
1030#ifdef DEBUG_PACKET
1031 DPRINTF("Too many pending packets\n");
1032#endif
1033 return 1;
1034 }
1035 dev = ohci_find_device(ohci, OHCI_BM(ed->flags, ED_FA));
1036 ep = usb_ep_get(dev, pid, OHCI_BM(ed->flags, ED_EN));
1037 usb_packet_setup(&ohci->usb_packet, pid, ep, addr, !flag_r,
1037 usb_packet_setup(&ohci->usb_packet, pid, ep, 0, addr, !flag_r,
1038 OHCI_BM(td.flags, TD_DI) == 0);
1039 usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, pktlen);
1040 usb_handle_packet(dev, &ohci->usb_packet);
1041#ifdef DEBUG_PACKET
1042 DPRINTF("status=%d\n", ohci->usb_packet.status);
1043#endif
1044 if (ohci->usb_packet.status == USB_RET_ASYNC) {
1045 usb_device_flush_ep_queue(dev, ep);

--- 904 unchanged lines hidden ---
1038 OHCI_BM(td.flags, TD_DI) == 0);
1039 usb_packet_addbuf(&ohci->usb_packet, ohci->usb_buf, pktlen);
1040 usb_handle_packet(dev, &ohci->usb_packet);
1041#ifdef DEBUG_PACKET
1042 DPRINTF("status=%d\n", ohci->usb_packet.status);
1043#endif
1044 if (ohci->usb_packet.status == USB_RET_ASYNC) {
1045 usb_device_flush_ep_queue(dev, ep);

--- 904 unchanged lines hidden ---