History | View | Annotate | Download (46 kB)
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....
usb: kill handle_packet callback
All drivers except usb-hub use usb_generic_handle_packet. The onlyreason the usb hub has its own function is that it used to be calledwith packets which are intended for downstream devices. With the new,separate device lookup step this doesn't happen any more, so the need...
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-redir: Add the posibility to filter out certain devices from redirecion
This patch adds the posibility to filter out certain devices from redirecion.To use this pass the filter property to -device usb-redir. The filterproperty takes a string consisting of filter rules, the format for a rule is:...
usb-redir: convert to QOM
This was missed due to the fact that it's in the top level and it uses'struct DeviceInfo' instead of 'DeviceInfo' for some strange reason.
Tested-by: Benoît Canet <benoit.canet@gmail.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
usb: convert to QEMU Object Model
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
usb-redir: Clear iso / irq error when stopping the stream
And ignore status messages from the client which arrive after streamstop (the stream stop send to the client and an error status reported bythe client my cross each other due to network latency)....
usb-redir: Dynamically adjust iso buffering size based on ep interval
Note the bufpq_target_size id stored in the endpoint info struct,even though it only used once. This is done because it will bereferenced from other code in a follow up patch.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>...
usb-redir: Pre-fill our isoc input buffer before sending pkts to the host
This is something which should have been done from the first version ofusb-redir, but wasn't.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
usb-redir: Try to keep our buffer size near the target size
Before this patch we would allow the (iso) buffer to grow unlimited(and it would under certain circumstances) leading to way too highlatencies for iso data streams.
usb-redir: Improve some debugging messages
Strip trailing '\n' from error_report()'s first argument (again)
Commit 6daf194d got rid of them, but Hans and Gerd added some morelately. Tracked down with this Coccinelle semantic patch:
r expression fmt; position p;@@ error_report(fmt, ...)@p...
r
fix typo: delete redundant semicolon
Double semicolons should be single.
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
usb-redir: Call qemu_chr_fe_open/close
To let the chardev now we're ready start receiving data. This is necessarywith the spicevmc chardev to get it registered with the spice-server.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
usb-redir: Device disconnect + re-connect robustness fixes
These fixes mainly target the other side sending some (error status)packets after a disconnect packet. In some cases these would get queuedup and then reported to the controller when a new device gets connected....
usb-redir: Don't try to write to the chardev after a close event
Since we handle close async in a bh, do_write and thus write can getcalled after receiving a close event. This patch adds a check tothe usb-redir write callback to not call qemu_chr_fe_write on a closed...
char: rename qemu_chr_close() -> qemu_chr_delete()
char: rename qemu_chr_write() -> qemu_chr_fe_write()
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
usb: use iovecs in USBPacket
Zap data pointer from USBPacket, add a QEMUIOVector instead.Add a bunch of helper functions to manage USBPacket data.Switch over users to the new interface.
Note that USBPacket->len was used for two purposes: First topass in the buffer size and second to return the number of...
USB: add usb network redirection support
This patch adds support for a usb-redir device, which takes a chardevas a communication channel to an actual usbdevice using the usbredir protocol.
Compiling the usb-redir device requires usbredir-0.3 to be installed for...