]> xenbits.xensource.com Git - legacy/linux-2.6.18-xen.git/commit
PVUSB: Fixes and updates
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 7 Oct 2009 07:42:00 +0000 (08:42 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 7 Oct 2009 07:42:00 +0000 (08:42 +0100)
commit3af15b517cba7bd45e624ca84bc57a8cb0fdd1ba
treebbd5de25101c62b3ae3813a15716e57170f584ab
parent16b165532214dd150f0dc0b106b78f7ce06bfac3
PVUSB: Fixes and updates

- xenbus state flow changed.
  Whole of the flow is changed to be like netback/netfront.
  Reconfiguring/Reconfiguring are removed.

- New RING for hotplug notification added.

- USBIF_MAX_SEGMENTS_PER_REQUEST value is changed (10) to (16).
  According to this change, RING_SIZE is decreased from 32 to 16.
  This affects the performance. My flash drive's read throughput
  was dropped from 29MB/s to 18MB/s in the linux environment.
  However, Windows guest send urb with 64kB buffer(64KB = 4kB * 16).
  This is required.

- New port-setting interface
  xenbus_watch_path2 is added to usbback, port-setting interface
  is moved from sysfs to xenstore.
  Now, the port-rule is directly written to xenstore entry.
  Example.
  # xenstore-write /local/domain/0/backend/vusb/1/0/port/1 "2-1"
    (adding physical bus 2-1 to vusb-1-0 port 1)

- urb dequeue function completed.
  usbfront send unlink-request to usbback, and can cancel the urb
  that is submitted in the backend.

- New USB Spec version (USB1.1/USB2.0) selection support.
  usbfront can act as both USB1.1 and USB2.0 virtual host controller
  according to the xenstore entry key "usb-ver".

- experimental bus_suspend/bus_resume added to usbfront.

- various cleanups, bugfix, refactoring and codestyle-fix.

Signed-off-by: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
12 files changed:
drivers/xen/usbback/interface.c
drivers/xen/usbback/usbback.c
drivers/xen/usbback/usbback.h
drivers/xen/usbback/usbstub.c
drivers/xen/usbback/xenbus.c
drivers/xen/usbfront/usbfront-dbg.c
drivers/xen/usbfront/usbfront-hcd.c
drivers/xen/usbfront/usbfront-hub.c
drivers/xen/usbfront/usbfront-q.c
drivers/xen/usbfront/usbfront.h
drivers/xen/usbfront/xenbus.c
include/xen/interface/io/usbif.h