Statistics
| Branch: | Revision:

root / hw / usb-xhci.c @ 93148aa5

History | View | Annotate | Download (85.2 kB)

# Date Author Comment
7d1994f8 02/27/2012 02:37 pm Gerd Hoffmann

usb-xhci: enable packet queuing

qemu usb core has packet queues now, so flip lets the switch.

Signed-off-by: Gerd Hoffmann <>

7718564b 02/16/2012 01:25 am Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.38' into staging

  • kraxel/usb.38: (28 commits)
    xhci: handle USB_RET_NAK
    xhci: remote wakeup support
    xhci: kill port arg from xhci_setup_packet
    xhci: stop on errors
    xhci: add trb type name lookup support....
83f7d43a 02/15/2012 05:39 pm Andreas Färber

qom: Unify type registration

Replace device_init() with generalized type_init().

While at it, unify naming convention: type_init([$prefix_]register_types)
Also, type_init() is a function, so add preceding blank line where
necessary and don't put a semicolon after the closing brace....

b819d716 02/10/2012 01:16 pm Gerd Hoffmann

xhci: kill port arg from xhci_setup_packet

Unused argument, remove it.

Signed-off-by: Gerd Hoffmann <>

8c735e43 02/10/2012 01:16 pm Gerd Hoffmann

xhci: remote wakeup support

Signed-off-by: Gerd Hoffmann <>

7c605a23 02/10/2012 01:16 pm Gerd Hoffmann

xhci: handle USB_RET_NAK

Add a field to XHCITransfer to correctly keep track of NAK'ed usb
packets. Retry transfers when the endpoint is kicked again. Implement
wakeup_endpoint bus op so we can kick the endpoint when needed.

With this patch applied the emulated hid devices are working correctly...

606352b7 02/10/2012 01:16 pm Gerd Hoffmann

xhci: signal low- and fullspeed support

Signed-off-by: Gerd Hoffmann <>

f10de44e 02/10/2012 01:16 pm Gerd Hoffmann

xhci: add trb type name lookup support.

When logging TRBs add a the type name for more readable debug output.

Signed-off-by: Gerd Hoffmann <>

3c4866e0 02/10/2012 01:16 pm Gerd Hoffmann

xhci: stop on errors

When some error happened we'll have to stop processing the endpoint.

Signed-off-by: Gerd Hoffmann <>

e74495e3 02/10/2012 12:31 pm Gerd Hoffmann

usb-xhci: switch to usb_find_device()

Switch over xHCI to use the new usb_find_device()
function for device lookup.

Signed-off-by: Gerd Hoffmann <>

079d0b7f 02/10/2012 12:31 pm Gerd Hoffmann

usb: Set USBEndpoint in usb_packet_setup().

With the separation of the device lookup (via usb_find_device) and
packet processing we can lookup device and endpoint before setting up
the usb packet. So we can initialize USBPacket->ep early and keep it
valid for the whole lifecycle of the USBPacket. Also the devaddr and...

d28f4e2d 02/10/2012 12:12 pm Gerd Hoffmann

usb: kill USB_MSG_RESET

The USB subsystem pipes internal reset notifications through
usb_handle_packet() with a special magic PID. This indirection
is a pretty pointless excercise as it ends up being handled by
usb_generic_handle_packet anyway.

Replace the USB_MSG_RESET with a usb_device_reset() function...

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

40021f08 01/27/2012 06:50 pm Anthony Liguori

pci: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

62aed765 01/27/2012 06:50 pm Anthony Liguori

usb: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

62c6ae04 01/17/2012 10:44 am Hector Martin

xhci: Initial xHCI implementation

Based on the implementation from Hector Martin <>

Hectors's implementation completely sidestepped the qemu usb system and
used libusb directly for usb device pass through. So I've ripped out
the libusb bits (or left them in disabled, as reference for further...