hcd-uhci.c (63e3555e80c31776285accbb4d0c14ae91c457dc) hcd-uhci.c (8550a02d1239415342959f6a32d178bc05c557cc)
1/*
2 * USB UHCI controller emulation
3 *
4 * Copyright (c) 2005 Fabrice Bellard
5 *
6 * Copyright (c) 2008 Max Krasnyansky
7 * Magor rewrite of the UHCI data structures parser and frame processor
8 * Support for fully async operation and multiple outstanding transactions

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

874 int_mask);
875 }
876 q = uhci_queue_new(s, qh_addr, td, ep);
877 }
878 async = uhci_async_alloc(q, td_addr);
879
880 max_len = ((td->token >> 21) + 1) & 0x7ff;
881 spd = (pid == USB_TOKEN_IN && (td->ctrl & TD_CTRL_SPD) != 0);
1/*
2 * USB UHCI controller emulation
3 *
4 * Copyright (c) 2005 Fabrice Bellard
5 *
6 * Copyright (c) 2008 Max Krasnyansky
7 * Magor rewrite of the UHCI data structures parser and frame processor
8 * Support for fully async operation and multiple outstanding transactions

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

874 int_mask);
875 }
876 q = uhci_queue_new(s, qh_addr, td, ep);
877 }
878 async = uhci_async_alloc(q, td_addr);
879
880 max_len = ((td->token >> 21) + 1) & 0x7ff;
881 spd = (pid == USB_TOKEN_IN && (td->ctrl & TD_CTRL_SPD) != 0);
882 usb_packet_setup(&async->packet, pid, q->ep, td_addr, spd,
882 usb_packet_setup(&async->packet, pid, q->ep, 0, td_addr, spd,
883 (td->ctrl & TD_CTRL_IOC) != 0);
884 qemu_sglist_add(&async->sgl, td->buffer, max_len);
885 usb_packet_map(&async->packet, &async->sgl);
886
887 switch(pid) {
888 case USB_TOKEN_OUT:
889 case USB_TOKEN_SETUP:
890 usb_handle_packet(q->ep->dev, &async->packet);

--- 509 unchanged lines hidden ---
883 (td->ctrl & TD_CTRL_IOC) != 0);
884 qemu_sglist_add(&async->sgl, td->buffer, max_len);
885 usb_packet_map(&async->packet, &async->sgl);
886
887 switch(pid) {
888 case USB_TOKEN_OUT:
889 case USB_TOKEN_SETUP:
890 usb_handle_packet(q->ep->dev, &async->packet);

--- 509 unchanged lines hidden ---