[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/21] usb-host: add property to turn off pipelining
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 08/21] usb-host: add property to turn off pipelining |
Date: |
Tue, 17 Apr 2012 10:45:13 +0200 |
Add a property to usb-host to disable the bulk endpoint pipelining.
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/usb/host-linux.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/hw/usb/host-linux.c b/hw/usb/host-linux.c
index 8084fd9..a382f0a 100644
--- a/hw/usb/host-linux.c
+++ b/hw/usb/host-linux.c
@@ -94,6 +94,10 @@ struct USBAutoFilter {
uint32_t product_id;
};
+enum USBHostDeviceOptions {
+ USB_HOST_OPT_PIPELINE,
+};
+
typedef struct USBHostDevice {
USBDevice dev;
int fd;
@@ -104,6 +108,7 @@ typedef struct USBHostDevice {
int descr_len;
int closing;
uint32_t iso_urb_count;
+ uint32_t options;
Notifier exit;
struct endp_data ep_in[USB_MAX_ENDPOINTS];
@@ -1203,7 +1208,8 @@ static int usb_linux_update_endp_table(USBHostDevice *s)
USB_ENDPOINT_XFER_INVALID);
usb_ep_set_type(&s->dev, pid, ep, type);
usb_ep_set_ifnum(&s->dev, pid, ep, interface);
- if (type == USB_ENDPOINT_XFER_BULK) {
+ if ((s->options & (1 << USB_HOST_OPT_PIPELINE)) &&
+ (type == USB_ENDPOINT_XFER_BULK)) {
usb_ep_set_pipeline(&s->dev, pid, ep, true);
}
@@ -1431,6 +1437,8 @@ static Property usb_host_dev_properties[] = {
DEFINE_PROP_HEX32("productid", USBHostDevice, match.product_id, 0),
DEFINE_PROP_UINT32("isobufs", USBHostDevice, iso_urb_count, 4),
DEFINE_PROP_INT32("bootindex", USBHostDevice, bootindex, -1),
+ DEFINE_PROP_BIT("pipeline", USBHostDevice, options,
+ USB_HOST_OPT_PIPELINE, true),
DEFINE_PROP_END_OF_LIST(),
};
--
1.7.1
- [Qemu-devel] [PULL 00/21] usb patch queue, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 03/21] usb-uhci: queuing fix, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 05/21] usb-host: trace emulated requests, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 17/21] usb: use USBDescriptor for endpoint descriptors., Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 01/21] usb/vmstate: add parent dev path, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 11/21] usb-ehci: fix ehci_child_detach, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 14/21] usb: use USBDescriptor for device qualifier descriptors., Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 10/21] usb-hub: add tracepoints, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 18/21] usb-host: rewrite usb_linux_update_endp_table, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 21/21] usb-ehci: drop assert(), Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 08/21] usb-host: add property to turn off pipelining,
Gerd Hoffmann <=
- [Qemu-devel] [PATCH 19/21] usb-ehci: Drop unused sofv value, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 16/21] usb: use USBDescriptor for interface descriptors., Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 09/21] usb_packet_set_state: handle p->ep == NULL, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 06/21] usb-host: trace canceled requests, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 20/21] usb-redir: Notify our peer when we reject a device due to a speed mismatch, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 13/21] usb: add USBDescriptor, use for device descriptors., Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 12/21] usb-ehci: frindex always is a 14 bits counter, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 02/21] usb-uhci: stop queue filling when we find a in-flight td, Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 15/21] usb: use USBDescriptor for config descriptors., Gerd Hoffmann, 2012/04/17
- [Qemu-devel] [PATCH 04/21] Add bootindex support to usb-host and usb-redir, Gerd Hoffmann, 2012/04/17