History | View | Annotate | Download (84.9 kB)
xhci: fix control xfers
Use the new, direct control transfer submission method instead ofbypassing the usb core by calling usb_device_handle_control directly.The later fails for async control transfers.
This patch gets xhci + usb-host combo going.
usb-xhci: enable packet queuing
qemu usb core has packet queues now, so flip lets the switch.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Merge remote-tracking branch 'kraxel/usb.38' into staging
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 wherenecessary and don't put a semicolon after the closing brace....
xhci: kill port arg from xhci_setup_packet
Unused argument, remove it.
xhci: remote wakeup support
xhci: handle USB_RET_NAK
Add a field to XHCITransfer to correctly keep track of NAK'ed usbpackets. Retry transfers when the endpoint is kicked again. Implementwakeup_endpoint bus op so we can kick the endpoint when needed.
With this patch applied the emulated hid devices are working correctly...
xhci: signal low- and fullspeed support
xhci: add trb type name lookup support.
When logging TRBs add a the type name for more readable debug output.
xhci: stop on errors
When some error happened we'll have to stop processing the endpoint.
usb-xhci: switch to usb_find_device()
Switch over xHCI to use the new usb_find_device()function for device lookup.
usb: Set USBEndpoint in usb_packet_setup().
With the separation of the device lookup (via usb_find_device) andpacket processing we can lookup device and endpoint before setting upthe usb packet. So we can initialize USBPacket->ep early and keep itvalid for the whole lifecycle of the USBPacket. Also the devaddr and...
usb: kill USB_MSG_RESET
The USB subsystem pipes internal reset notifications throughusb_handle_packet() with a special magic PID. This indirectionis a pretty pointless excercise as it ends up being handled byusb_generic_handle_packet anyway.
Replace the USB_MSG_RESET with a usb_device_reset() function...
qdev: register all types natively through QEMU Object Model
This was done in a mostly automated fashion. I did it in three steps and thenrebased it into a single step which avoids repeatedly touching every file inthe tree.
The first step was a sed-based addition of the parent type to the subclass...
pci: convert to QEMU Object Model
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
usb: convert to QEMU Object Model
xhci: Initial xHCI implementation
Based on the implementation from Hector Martin <hector@marcansoft.com>
Hectors's implementation completely sidestepped the qemu usb system andused libusb directly for usb device pass through. So I've ripped outthe libusb bits (or left them in disabled, as reference for further...