qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL] usb patch queue
@ 2011-05-04 15:41 Gerd Hoffmann
  2011-05-05 18:28 ` Anthony Liguori
  0 siblings, 1 reply; 30+ messages in thread
From: Gerd Hoffmann @ 2011-05-04 15:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

The USB patch queue is back!  I'm still busy catching up with the
backlog, I know I didn't pick up everything from the list yet.  If in
doubt it doesn't hurt to resend usb related patches, with me being
Cc'ed.

This pull brings old stuff, most of the patches are several months old
already.  Finally the usb-host fixes from Hans are queued up for merge.
Some async packet handling cleanups are in there to.  Oh, and one more
bugfix for the usb mass storage device.

please pull,
  Gerd

The following changes since commit d2d979c628e4b2c4a3cb71a31841875795c79043:

  NBD: Avoid leaking a couple of strings when the NBD device is closed (2011-05-03 11:29:21 +0200)

are available in the git repository at:
  git://git.kraxel.org/qemu usb.7.pull

Gerd Hoffmann (6):
      uhci: switch to QTAILQ
      uhci: keep uhci state pointer in async packet struct.
      ohci: get ohci state via container_of()
      musb: get musb state via container_of()
      usb: move complete callback to port ops
      usb: mass storage fix

Hans de Goede (8):
      usb-linux: introduce a usb_linux_alt_setting function
      usb-linux: Get the alt. setting from sysfs rather then asking the dev
      usb-linux: Add support for buffering iso usb packets
      usb-linux: Refuse packets for endpoints which are not in the usb descriptor
      usb-linux: Refuse iso packets when max packet size is 0 (alt setting 0)
      usb-linux: We only need to keep track of 15 endpoints
      usb-linux: Add support for buffering iso out usb packets
      usb: control buffer fixes

 hw/usb-hub.c  |   14 ++
 hw/usb-msd.c  |    5 +-
 hw/usb-musb.c |   75 ++++++-----
 hw/usb-ohci.c |    9 +-
 hw/usb-uhci.c |   82 ++++--------
 hw/usb.c      |    6 +
 hw/usb.h      |    9 +-
 usb-linux.c   |  394 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 8 files changed, 445 insertions(+), 149 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-05-04 15:41 Gerd Hoffmann
@ 2011-05-05 18:28 ` Anthony Liguori
  0 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-05-05 18:28 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 05/04/2011 10:41 AM, Gerd Hoffmann wrote:
>    Hi,
>
> The USB patch queue is back!  I'm still busy catching up with the
> backlog, I know I didn't pick up everything from the list yet.  If in
> doubt it doesn't hurt to resend usb related patches, with me being
> Cc'ed.
>
> This pull brings old stuff, most of the patches are several months old
> already.  Finally the usb-host fixes from Hans are queued up for merge.
> Some async packet handling cleanups are in there to.  Oh, and one more
> bugfix for the usb mass storage device.
>
> please pull,
>    Gerd

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> The following changes since commit d2d979c628e4b2c4a3cb71a31841875795c79043:
>
>    NBD: Avoid leaking a couple of strings when the NBD device is closed (2011-05-03 11:29:21 +0200)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.7.pull
>
> Gerd Hoffmann (6):
>        uhci: switch to QTAILQ
>        uhci: keep uhci state pointer in async packet struct.
>        ohci: get ohci state via container_of()
>        musb: get musb state via container_of()
>        usb: move complete callback to port ops
>        usb: mass storage fix
>
> Hans de Goede (8):
>        usb-linux: introduce a usb_linux_alt_setting function
>        usb-linux: Get the alt. setting from sysfs rather then asking the dev
>        usb-linux: Add support for buffering iso usb packets
>        usb-linux: Refuse packets for endpoints which are not in the usb descriptor
>        usb-linux: Refuse iso packets when max packet size is 0 (alt setting 0)
>        usb-linux: We only need to keep track of 15 endpoints
>        usb-linux: Add support for buffering iso out usb packets
>        usb: control buffer fixes
>
>   hw/usb-hub.c  |   14 ++
>   hw/usb-msd.c  |    5 +-
>   hw/usb-musb.c |   75 ++++++-----
>   hw/usb-ohci.c |    9 +-
>   hw/usb-uhci.c |   82 ++++--------
>   hw/usb.c      |    6 +
>   hw/usb.h      |    9 +-
>   usb-linux.c   |  394 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
>   8 files changed, 445 insertions(+), 149 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-06-14 11:05 Gerd Hoffmann
  2011-06-15 14:17 ` Anthony Liguori
  0 siblings, 1 reply; 30+ messages in thread
From: Gerd Hoffmann @ 2011-06-14 11:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

The USB patch queue has been rebased, got a minor fix (wrong comment in
patch #8, spotted by David Ahern) and three new patches.  I'm just
posting the three new patches to avoid spamming the list with 30
identical patches ...

please pull,
  Gerd

The following changes since commit 0b862cedf36d927818c50584ddd611b0370673df:

  configure: Detect and don't try to use older libcurl (2011-06-13 21:16:27 +0200)

are available in the git repository at:
  git://git.kraxel.org/qemu usb.16

Brad Hards (3):
      usb: Add defines for USB Serial Bus Release Number register
      usb: Use defines for serial bus release number register for UHCI
      usb: Use defines for serial bus release number register for EHCI

Gerd Hoffmann (18):
      usb-linux: catch ENODEV in more places.
      usb-ehci: trace mmio and usbsts
      usb-ehci: trace state machine changes
      usb-ehci: trace port state
      usb-ehci: improve mmio tracing
      usb-ehci: trace buffer copy
      usb-ehci: add queue data struct
      usb-ehci: multiqueue support
      usb-ehci: fix offset writeback in ehci_buffer_rw
      usb-ehci: fix error handling.
      usb: cancel async packets on unplug
      usb-ehci: drop EXECUTING checks.
      usb-ehci: itd handling fixes.
      usb-ehci: split trace calls to handle arg count limits
      usb: documentation update
      usb-linux: only cleanup in host_close when host_open was successful.
      usb: don't call usb_host_device_open from vl.c
      usb-uhci: fix expire time initialization.

Hans de Goede (9):
      ehci: fix a number of unused-but-set-variable warnings (new with gcc-4.6)
      usb-linux: Get speed from sysfs rather then from the connectinfo ioctl
      usb-linux: Teach about super speed
      usb-linux: Don't do perror when errno is not set
      usb-linux: Ensure devep != 0
      usb-linux: Don't try to open the same device twice
      usb-linux: Enlarge buffer for descriptors to 8192 bytes
      usb-bus: Add knowledge of USB_SPEED_SUPER to usb_speed helper
      usb-bus: Don't detach non attached devices on device exit

Kevin O'Connor (2):
      Fix USB mouse Set_Protocol behavior
      The USB tablet should not claim boot protocol support.

Peter Maydell (2):
      hw/usb-ohci.c: Ignore writes to HcPeriodCurrentED register
      hw/usb-ohci.c: Implement remote wakeup

 docs/usb2.txt          |   85 ++++
 hw/milkymist-softusb.c |   10 +-
 hw/usb-bus.c           |   10 +-
 hw/usb-ehci.c          | 1198 ++++++++++++++++++++++++++++--------------------
 hw/usb-hid.c           |    5 +-
 hw/usb-musb.c          |   23 +-
 hw/usb-ohci.c          |   37 ++-
 hw/usb-uhci.c          |   32 ++-
 hw/usb.h               |   14 +-
 trace-events           |   20 +
 usb-linux.c            |   96 +++--
 vl.c                   |    6 +-
 12 files changed, 990 insertions(+), 546 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-06-14 11:05 Gerd Hoffmann
@ 2011-06-15 14:17 ` Anthony Liguori
  0 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-06-15 14:17 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 06/14/2011 06:05 AM, Gerd Hoffmann wrote:
>    Hi,
>
> The USB patch queue has been rebased, got a minor fix (wrong comment in
> patch #8, spotted by David Ahern) and three new patches.  I'm just
> posting the three new patches to avoid spamming the list with 30
> identical patches ...
>
> please pull,
>    Gerd

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> The following changes since commit 0b862cedf36d927818c50584ddd611b0370673df:
>
>    configure: Detect and don't try to use older libcurl (2011-06-13 21:16:27 +0200)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.16
>
> Brad Hards (3):
>        usb: Add defines for USB Serial Bus Release Number register
>        usb: Use defines for serial bus release number register for UHCI
>        usb: Use defines for serial bus release number register for EHCI
>
> Gerd Hoffmann (18):
>        usb-linux: catch ENODEV in more places.
>        usb-ehci: trace mmio and usbsts
>        usb-ehci: trace state machine changes
>        usb-ehci: trace port state
>        usb-ehci: improve mmio tracing
>        usb-ehci: trace buffer copy
>        usb-ehci: add queue data struct
>        usb-ehci: multiqueue support
>        usb-ehci: fix offset writeback in ehci_buffer_rw
>        usb-ehci: fix error handling.
>        usb: cancel async packets on unplug
>        usb-ehci: drop EXECUTING checks.
>        usb-ehci: itd handling fixes.
>        usb-ehci: split trace calls to handle arg count limits
>        usb: documentation update
>        usb-linux: only cleanup in host_close when host_open was successful.
>        usb: don't call usb_host_device_open from vl.c
>        usb-uhci: fix expire time initialization.
>
> Hans de Goede (9):
>        ehci: fix a number of unused-but-set-variable warnings (new with gcc-4.6)
>        usb-linux: Get speed from sysfs rather then from the connectinfo ioctl
>        usb-linux: Teach about super speed
>        usb-linux: Don't do perror when errno is not set
>        usb-linux: Ensure devep != 0
>        usb-linux: Don't try to open the same device twice
>        usb-linux: Enlarge buffer for descriptors to 8192 bytes
>        usb-bus: Add knowledge of USB_SPEED_SUPER to usb_speed helper
>        usb-bus: Don't detach non attached devices on device exit
>
> Kevin O'Connor (2):
>        Fix USB mouse Set_Protocol behavior
>        The USB tablet should not claim boot protocol support.
>
> Peter Maydell (2):
>        hw/usb-ohci.c: Ignore writes to HcPeriodCurrentED register
>        hw/usb-ohci.c: Implement remote wakeup
>
>   docs/usb2.txt          |   85 ++++
>   hw/milkymist-softusb.c |   10 +-
>   hw/usb-bus.c           |   10 +-
>   hw/usb-ehci.c          | 1198 ++++++++++++++++++++++++++++--------------------
>   hw/usb-hid.c           |    5 +-
>   hw/usb-musb.c          |   23 +-
>   hw/usb-ohci.c          |   37 ++-
>   hw/usb-uhci.c          |   32 ++-
>   hw/usb.h               |   14 +-
>   trace-events           |   20 +
>   usb-linux.c            |   96 +++--
>   vl.c                   |    6 +-
>   12 files changed, 990 insertions(+), 546 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-06-24 10:59 Gerd Hoffmann
  2011-06-24 13:30 ` Hans de Goede
  2011-06-27 20:19 ` Anthony Liguori
  0 siblings, 2 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-06-24 10:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Here comes the USB patch queue.  Nothing major, just a bunch of little
fixes and improvements.

please pull,
  Gerd

The following changes since commit 48e2faf222cbf4abab7c8e4b3f44229ec98eae7f:

  net: Warn about "-net nic" options which were ignored (2011-06-22 07:18:39 -0500)

are available in the git repository at:
  git://git.kraxel.org/qemu usb.17

Gerd Hoffmann (6):
      usb-linux: add get_endp()
      usb-linux: make iso urb count contigurable
      usb-linux: track inflight iso urb count
      ehci: add freq + maxframes properties
      ehci: switch to nanoseconds
      usb: ignore USB_DT_DEBUG

Hans de Goede (5):
      usb-bus: Don't allow attaching a device to a bus with no free ports
      usb: Proper error propagation for usb_device_attach errors
      usb: Add a speedmask to devices
      usb-linux: allow "compatible" high speed devices to connect at fullspeed
      usb-bus: Don't allow speed mismatch while attaching devices

Markus Armbruster (1):
      usb-storage: Turn drive serial into a qdev property usb-storage.serial

Peter Maydell (1):
      hw/usb-ohci.c: Fix handling of remote wakeup corner cases

 hw/usb-bus.c  |   31 ++++++++++-----
 hw/usb-ccid.c |    1 +
 hw/usb-desc.c |   14 ++++++
 hw/usb-ehci.c |   43 +++++++++++---------
 hw/usb-msd.c  |   19 ++++++--
 hw/usb-ohci.c |   17 ++++++-
 hw/usb.h      |    4 ++
 usb-bsd.c     |    2 +
 usb-linux.c   |  124 +++++++++++++++++++++++++++++++++++++++++++++------------
 9 files changed, 191 insertions(+), 64 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-06-24 10:59 Gerd Hoffmann
@ 2011-06-24 13:30 ` Hans de Goede
  2011-06-27 20:19 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Hans de Goede @ 2011-06-24 13:30 UTC (permalink / raw)
  To: qemu-devel

Hi,

Entire series looks good to me, including my own patches ;)

Ack series.

Regards,

Hans


On 06/24/2011 12:59 PM, Gerd Hoffmann wrote:
>    Hi,
>
> Here comes the USB patch queue.  Nothing major, just a bunch of little
> fixes and improvements.
>
> please pull,
>    Gerd
>
> The following changes since commit 48e2faf222cbf4abab7c8e4b3f44229ec98eae7f:
>
>    net: Warn about "-net nic" options which were ignored (2011-06-22 07:18:39 -0500)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.17
>
> Gerd Hoffmann (6):
>        usb-linux: add get_endp()
>        usb-linux: make iso urb count contigurable
>        usb-linux: track inflight iso urb count
>        ehci: add freq + maxframes properties
>        ehci: switch to nanoseconds
>        usb: ignore USB_DT_DEBUG
>
> Hans de Goede (5):
>        usb-bus: Don't allow attaching a device to a bus with no free ports
>        usb: Proper error propagation for usb_device_attach errors
>        usb: Add a speedmask to devices
>        usb-linux: allow "compatible" high speed devices to connect at fullspeed
>        usb-bus: Don't allow speed mismatch while attaching devices
>
> Markus Armbruster (1):
>        usb-storage: Turn drive serial into a qdev property usb-storage.serial
>
> Peter Maydell (1):
>        hw/usb-ohci.c: Fix handling of remote wakeup corner cases
>
>   hw/usb-bus.c  |   31 ++++++++++-----
>   hw/usb-ccid.c |    1 +
>   hw/usb-desc.c |   14 ++++++
>   hw/usb-ehci.c |   43 +++++++++++---------
>   hw/usb-msd.c  |   19 ++++++--
>   hw/usb-ohci.c |   17 ++++++-
>   hw/usb.h      |    4 ++
>   usb-bsd.c     |    2 +
>   usb-linux.c   |  124 +++++++++++++++++++++++++++++++++++++++++++++------------
>   9 files changed, 191 insertions(+), 64 deletions(-)
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-06-24 10:59 Gerd Hoffmann
  2011-06-24 13:30 ` Hans de Goede
@ 2011-06-27 20:19 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-06-27 20:19 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 06/24/2011 05:59 AM, Gerd Hoffmann wrote:
>    Hi,
>
> Here comes the USB patch queue.  Nothing major, just a bunch of little
> fixes and improvements.
>
> please pull,

Pulled.  Thanks.

Regards,

Anthony Liguori

>    Gerd
>
> The following changes since commit 48e2faf222cbf4abab7c8e4b3f44229ec98eae7f:
>
>    net: Warn about "-net nic" options which were ignored (2011-06-22 07:18:39 -0500)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.17
>
> Gerd Hoffmann (6):
>        usb-linux: add get_endp()
>        usb-linux: make iso urb count contigurable
>        usb-linux: track inflight iso urb count
>        ehci: add freq + maxframes properties
>        ehci: switch to nanoseconds
>        usb: ignore USB_DT_DEBUG
>
> Hans de Goede (5):
>        usb-bus: Don't allow attaching a device to a bus with no free ports
>        usb: Proper error propagation for usb_device_attach errors
>        usb: Add a speedmask to devices
>        usb-linux: allow "compatible" high speed devices to connect at fullspeed
>        usb-bus: Don't allow speed mismatch while attaching devices
>
> Markus Armbruster (1):
>        usb-storage: Turn drive serial into a qdev property usb-storage.serial
>
> Peter Maydell (1):
>        hw/usb-ohci.c: Fix handling of remote wakeup corner cases
>
>   hw/usb-bus.c  |   31 ++++++++++-----
>   hw/usb-ccid.c |    1 +
>   hw/usb-desc.c |   14 ++++++
>   hw/usb-ehci.c |   43 +++++++++++---------
>   hw/usb-msd.c  |   19 ++++++--
>   hw/usb-ohci.c |   17 ++++++-
>   hw/usb.h      |    4 ++
>   usb-bsd.c     |    2 +
>   usb-linux.c   |  124 +++++++++++++++++++++++++++++++++++++++++++++------------
>   9 files changed, 191 insertions(+), 64 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-07-08  9:50 Gerd Hoffmann
  2011-07-12 14:52 ` Gerd Hoffmann
  2011-07-19 15:59 ` Anthony Liguori
  0 siblings, 2 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-07-08  9:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Here is the current usb patch queue.  Most noteworthy is the usb
companion controller support added.  There are also a bunch of bug
fixes, some from Hans which he found while doing the companion
controller work and some have been found in patch review.

please pull,
  Gerd

The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:

  pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)

are available in the git repository at:
  git://git.kraxel.org/qemu usb.19

Gerd Hoffmann (8):
      pci: add ich9 usb controller ids
      uhci: add ich9 controllers
      ehci: fix port count.
      ehci: add ich9 controller.
      usb: update documentation
      usb: fixup bluetooth descriptors
      usb-hub: remove unused descriptor arrays
      usb-ohci: raise interrupt on attach

Hans de Goede (13):
      usb: Add a usb_fill_port helper function
      usb: Move (initial) call of usb_port_location to usb_fill_port
      usb: Add a register_companion USB bus op.
      usb: Make port wakeup and complete ops take a USBPort instead of a Device
      usb: Replace device_destroy bus op with a child_detach port op
      usb-ehci: drop unused num-ports state member
      usb-ehci: Connect Status bit is read only, don't allow changing it by the guest
      usb-ehci: cleanup port reset handling
      usb: assert on calling usb_attach(port, NULL) on a port without a dev
      usb-ehci: Fix handling of PED and PEDC port status bits
      usb-ehci: Add support for registering companion controllers
      usb-uhci: Add support for being a companion controller
      usb-ohci: Add support for being a companion controller

Jes Sorensen (1):
      usb_register_port(): do not set port->opaque and port->index twice

Peter Maydell (1):
      hw/usb-musb.c: Don't misuse usb_packet_complete()

 docs/ich9-ehci-uhci.cfg |   37 +++++++
 docs/usb2.txt           |   33 +++++-
 hw/milkymist-softusb.c  |    9 ++-
 hw/pci_ids.h            |    8 ++
 hw/usb-bt.c             |   24 ++--
 hw/usb-bus.c            |   46 +++++++-
 hw/usb-ehci.c           |  270 ++++++++++++++++++++++++++++++++++-------------
 hw/usb-hub.c            |   90 +++-------------
 hw/usb-musb.c           |   24 +++--
 hw/usb-ohci.c           |   89 +++++++++++-----
 hw/usb-uhci.c           |   95 +++++++++++++----
 hw/usb.c                |   13 +--
 hw/usb.h                |   20 +++-
 13 files changed, 523 insertions(+), 235 deletions(-)
 create mode 100644 docs/ich9-ehci-uhci.cfg

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-07-08  9:50 Gerd Hoffmann
@ 2011-07-12 14:52 ` Gerd Hoffmann
  2011-07-19 15:59 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-07-12 14:52 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 07/08/11 11:50, Gerd Hoffmann wrote:
>    Hi,
>
> Here is the current usb patch queue.  Most noteworthy is the usb
> companion controller support added.  There are also a bunch of bug
> fixes, some from Hans which he found while doing the companion
> controller work and some have been found in patch review.
>
> please pull,
>    Gerd
>
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
>
>    pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.19

ping?

cheers,
   Gerd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-07-08  9:50 Gerd Hoffmann
  2011-07-12 14:52 ` Gerd Hoffmann
@ 2011-07-19 15:59 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-07-19 15:59 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 07/08/2011 04:50 AM, Gerd Hoffmann wrote:
>    Hi,
>
> Here is the current usb patch queue.  Most noteworthy is the usb
> companion controller support added.  There are also a bunch of bug
> fixes, some from Hans which he found while doing the companion
> controller work and some have been found in patch review.

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> please pull,
>    Gerd
>
> The following changes since commit 9312805d33e8b106bae356d13a8071fb37d75554:
>
>    pxa2xx_lcd: add proper rotation support (2011-07-04 22:12:21 +0200)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.19
>
> Gerd Hoffmann (8):
>        pci: add ich9 usb controller ids
>        uhci: add ich9 controllers
>        ehci: fix port count.
>        ehci: add ich9 controller.
>        usb: update documentation
>        usb: fixup bluetooth descriptors
>        usb-hub: remove unused descriptor arrays
>        usb-ohci: raise interrupt on attach
>
> Hans de Goede (13):
>        usb: Add a usb_fill_port helper function
>        usb: Move (initial) call of usb_port_location to usb_fill_port
>        usb: Add a register_companion USB bus op.
>        usb: Make port wakeup and complete ops take a USBPort instead of a Device
>        usb: Replace device_destroy bus op with a child_detach port op
>        usb-ehci: drop unused num-ports state member
>        usb-ehci: Connect Status bit is read only, don't allow changing it by the guest
>        usb-ehci: cleanup port reset handling
>        usb: assert on calling usb_attach(port, NULL) on a port without a dev
>        usb-ehci: Fix handling of PED and PEDC port status bits
>        usb-ehci: Add support for registering companion controllers
>        usb-uhci: Add support for being a companion controller
>        usb-ohci: Add support for being a companion controller
>
> Jes Sorensen (1):
>        usb_register_port(): do not set port->opaque and port->index twice
>
> Peter Maydell (1):
>        hw/usb-musb.c: Don't misuse usb_packet_complete()
>
>   docs/ich9-ehci-uhci.cfg |   37 +++++++
>   docs/usb2.txt           |   33 +++++-
>   hw/milkymist-softusb.c  |    9 ++-
>   hw/pci_ids.h            |    8 ++
>   hw/usb-bt.c             |   24 ++--
>   hw/usb-bus.c            |   46 +++++++-
>   hw/usb-ehci.c           |  270 ++++++++++++++++++++++++++++++++++-------------
>   hw/usb-hub.c            |   90 +++-------------
>   hw/usb-musb.c           |   24 +++--
>   hw/usb-ohci.c           |   89 +++++++++++-----
>   hw/usb-uhci.c           |   95 +++++++++++++----
>   hw/usb.c                |   13 +--
>   hw/usb.h                |   20 +++-
>   13 files changed, 523 insertions(+), 235 deletions(-)
>   create mode 100644 docs/ich9-ehci-uhci.cfg
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-07-20 10:23 Gerd Hoffmann
  0 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-07-20 10:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Tiny usb patch queue with two small fixes.

please pull for 0.15,
  Gerd

The following changes since commit 03ff09580ef6cbc4a893b6e3e6bbff33180ec70a:

  Merge remote-tracking branch 'agraf/xen-next' into staging (2011-07-19 08:04:35 -0500)

are available in the git repository at:

  git://git.kraxel.org/qemu usb.20

Gerd Hoffmann (2):
      usb-hid: fixup changed tracking.
      usb-uhci: fix irq handling on error.

 hw/usb-hid.c  |    9 ++++-----
 hw/usb-uhci.c |    6 ++++++
 2 files changed, 10 insertions(+), 5 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-08-11  7:03 Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 1/6] usb/hid: add hid_pointer_activate, use it Gerd Hoffmann
                   ` (7 more replies)
  0 siblings, 8 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

More usb and hid bits.  Fixes a usb tablet regression with windows xp.
milkymist goes use the new, splitted hid code directly instead of
(ab-)using the usb-kbd device, which in turn allows to kill the
usb_hid_datain_cb callback as no users are left.

please pull,
  Gerd

The following changes since commit b9c6cbff76061537b722d55f0e321dde2a612a23:

  Merge remote-tracking branch 'pm-arm/for-upstream' into pm (2011-08-09 19:16:43 +0200)

are available in the git repository at:

  git://git.kraxel.org/qemu usb.23

Gerd Hoffmann (2):
      usb/hid: add hid_pointer_activate, use it
      usb-hid: remove usb_hid_datain_cb

Michael Walle (4):
      hid: register kbd hander in init()
      hid: introduce hid vmstate macros
      usb-hid: use hid vmstate macro
      milkymist-softusb: use hid code directly

 hw/hid.c               |   76 +++++++++++++++++++++++++++--
 hw/hid.h               |    1 +
 hw/hw.h                |   20 ++++++++
 hw/milkymist-softusb.c |  122 +++++++++++++++---------------------------------
 hw/usb-hid.c           |   58 ++---------------------
 hw/usb.h               |    3 -
 6 files changed, 134 insertions(+), 146 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 1/6] usb/hid: add hid_pointer_activate, use it
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 2/6] hid: register kbd hander in init() Gerd Hoffmann
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

HID reorganziation broke the usb tablet in windows xp.  The reason is
that xp activates idle before it starts polling, which creates a
chicken-and-egg issue:  We don't call hid_pointer_poll because there are
no pending events.  We don't get any events because the activation code
in hid_pointer_poll is never executed and thus all pointer events are
routed to the PS/2 mouse by qemu.

Fix this by creating a hid_pointer_activate function and call it from
usb-hid when the guest sets the idle state.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/hid.c     |   13 +++++++++----
 hw/hid.h     |    1 +
 hw/usb-hid.c |    3 +++
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/hw/hid.c b/hw/hid.c
index 7b5ef5f..77339f7 100644
--- a/hw/hid.c
+++ b/hw/hid.c
@@ -218,16 +218,21 @@ static inline int int_clamp(int val, int vmin, int vmax)
     }
 }
 
+void hid_pointer_activate(HIDState *hs)
+{
+    if (!hs->ptr.mouse_grabbed) {
+        qemu_activate_mouse_event_handler(hs->ptr.eh_entry);
+        hs->ptr.mouse_grabbed = 1;
+    }
+}
+
 int hid_pointer_poll(HIDState *hs, uint8_t *buf, int len)
 {
     int dx, dy, dz, b, l;
     int index;
     HIDPointerEvent *e;
 
-    if (!hs->ptr.mouse_grabbed) {
-        qemu_activate_mouse_event_handler(hs->ptr.eh_entry);
-        hs->ptr.mouse_grabbed = 1;
-    }
+    hid_pointer_activate(hs);
 
     /* When the buffer is empty, return the last event.  Relative
        movements will all be zero.  */
diff --git a/hw/hid.h b/hw/hid.h
index 4a8fa5b..9ce03b1 100644
--- a/hw/hid.h
+++ b/hw/hid.h
@@ -51,6 +51,7 @@ void hid_free(HIDState *hs);
 
 bool hid_has_events(HIDState *hs);
 void hid_set_next_idle(HIDState *hs, int64_t curtime);
+void hid_pointer_activate(HIDState *hs);
 int hid_pointer_poll(HIDState *hs, uint8_t *buf, int len);
 int hid_keyboard_poll(HIDState *hs, uint8_t *buf, int len);
 int hid_keyboard_write(HIDState *hs, uint8_t *buf, int len);
diff --git a/hw/usb-hid.c b/hw/usb-hid.c
index e5d57de..6f12751 100644
--- a/hw/usb-hid.c
+++ b/hw/usb-hid.c
@@ -454,6 +454,9 @@ static int usb_hid_handle_control(USBDevice *dev, USBPacket *p,
     case SET_IDLE:
         hs->idle = (uint8_t) (value >> 8);
         hid_set_next_idle(hs, qemu_get_clock_ns(vm_clock));
+        if (hs->kind == HID_MOUSE || hs->kind == HID_TABLET) {
+            hid_pointer_activate(hs);
+        }
         ret = 0;
         break;
     default:
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 2/6] hid: register kbd hander in init()
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 1/6] usb/hid: add hid_pointer_activate, use it Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 3/6] hid: introduce hid vmstate macros Gerd Hoffmann
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Gerd Hoffmann

From: Michael Walle <michael@walle.cc>

Register the keyboard event handler in hid's init() instead of its reset()
function.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/hid.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/hid.c b/hw/hid.c
index 77339f7..3dc4246 100644
--- a/hw/hid.c
+++ b/hw/hid.c
@@ -364,7 +364,6 @@ void hid_reset(HIDState *hs)
 {
     switch (hs->kind) {
     case HID_KEYBOARD:
-        qemu_add_kbd_event_handler(hid_keyboard_event, hs);
         memset(hs->kbd.keycodes, 0, sizeof(hs->kbd.keycodes));
         memset(hs->kbd.key, 0, sizeof(hs->kbd.key));
         hs->kbd.keys = 0;
@@ -398,7 +397,9 @@ void hid_init(HIDState *hs, int kind, HIDEventFunc event)
     hs->kind = kind;
     hs->event = event;
 
-    if (hs->kind == HID_MOUSE) {
+    if (hs->kind == HID_KEYBOARD) {
+        qemu_add_kbd_event_handler(hid_keyboard_event, hs);
+    } else if (hs->kind == HID_MOUSE) {
         hs->ptr.eh_entry = qemu_add_mouse_event_handler(hid_pointer_event, hs,
                                                         0, "QEMU HID Mouse");
     } else if (hs->kind == HID_TABLET) {
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 3/6] hid: introduce hid vmstate macros
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 1/6] usb/hid: add hid_pointer_activate, use it Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 2/6] hid: register kbd hander in init() Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 4/6] usb-hid: use hid vmstate macro Gerd Hoffmann
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Gerd Hoffmann

From: Michael Walle <michael@walle.cc>

Add VMSTATE macros to describe a HIDState. Based on usb-hid.c descriptions.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/hid.c |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 hw/hw.h  |   20 ++++++++++++++++++++
 2 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/hw/hid.c b/hw/hid.c
index 3dc4246..ec066cf 100644
--- a/hw/hid.c
+++ b/hw/hid.c
@@ -407,3 +407,61 @@ void hid_init(HIDState *hs, int kind, HIDEventFunc event)
                                                         1, "QEMU HID Tablet");
     }
 }
+
+static int hid_post_load(void *opaque, int version_id)
+{
+    HIDState *s = opaque;
+
+    if (s->idle) {
+        hid_set_next_idle(s, qemu_get_clock_ns(vm_clock));
+    }
+    return 0;
+}
+
+static const VMStateDescription vmstate_hid_ptr_queue = {
+    .name = "HIDPointerEventQueue",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .fields = (VMStateField[]) {
+        VMSTATE_INT32(xdx, HIDPointerEvent),
+        VMSTATE_INT32(ydy, HIDPointerEvent),
+        VMSTATE_INT32(dz, HIDPointerEvent),
+        VMSTATE_INT32(buttons_state, HIDPointerEvent),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
+const VMStateDescription vmstate_hid_ptr_device = {
+    .name = "HIDPointerDevice",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .post_load = hid_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_STRUCT_ARRAY(ptr.queue, HIDState, QUEUE_LENGTH, 0,
+                             vmstate_hid_ptr_queue, HIDPointerEvent),
+        VMSTATE_UINT32(head, HIDState),
+        VMSTATE_UINT32(n, HIDState),
+        VMSTATE_INT32(protocol, HIDState),
+        VMSTATE_UINT8(idle, HIDState),
+        VMSTATE_END_OF_LIST(),
+    }
+};
+
+const VMStateDescription vmstate_hid_keyboard_device = {
+    .name = "HIDKeyboardDevice",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .post_load = hid_post_load,
+    .fields = (VMStateField[]) {
+        VMSTATE_UINT32_ARRAY(kbd.keycodes, HIDState, QUEUE_LENGTH),
+        VMSTATE_UINT32(head, HIDState),
+        VMSTATE_UINT32(n, HIDState),
+        VMSTATE_UINT16(kbd.modifiers, HIDState),
+        VMSTATE_UINT8(kbd.leds, HIDState),
+        VMSTATE_UINT8_ARRAY(kbd.key, HIDState, 16),
+        VMSTATE_INT32(kbd.keys, HIDState),
+        VMSTATE_INT32(protocol, HIDState),
+        VMSTATE_UINT8(idle, HIDState),
+        VMSTATE_END_OF_LIST(),
+    }
+};
diff --git a/hw/hw.h b/hw/hw.h
index df6ca65..a124da9 100644
--- a/hw/hw.h
+++ b/hw/hw.h
@@ -701,6 +701,26 @@ extern const VMStateDescription vmstate_ptimer;
     .offset     = vmstate_offset_pointer(_state, _field, ptimer_state), \
 }
 
+extern const VMStateDescription vmstate_hid_keyboard_device;
+
+#define VMSTATE_HID_KEYBOARD_DEVICE(_field, _state) {                \
+    .name       = (stringify(_field)),                               \
+    .size       = sizeof(HIDState),                                  \
+    .vmsd       = &vmstate_hid_keyboard_device,                      \
+    .flags      = VMS_STRUCT,                                        \
+    .offset     = vmstate_offset_value(_state, _field, HIDState),    \
+}
+
+extern const VMStateDescription vmstate_hid_ptr_device;
+
+#define VMSTATE_HID_POINTER_DEVICE(_field, _state) {                 \
+    .name       = (stringify(_field)),                               \
+    .size       = sizeof(HIDState),                                  \
+    .vmsd       = &vmstate_hid_ptr_device,                           \
+    .flags      = VMS_STRUCT,                                        \
+    .offset     = vmstate_offset_value(_state, _field, HIDState),    \
+}
+
 /* _f : field name
    _f_n : num of elements field_name
    _n : num of elements
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 4/6] usb-hid: use hid vmstate macro
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 3/6] hid: introduce hid vmstate macros Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 5/6] milkymist-softusb: use hid code directly Gerd Hoffmann
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Gerd Hoffmann

From: Michael Walle <michael@walle.cc>

Use new hid vmstate macro. Version stays the same, because there is no
reordering of the fields.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb-hid.c |   41 ++---------------------------------------
 1 files changed, 2 insertions(+), 39 deletions(-)

diff --git a/hw/usb-hid.c b/hw/usb-hid.c
index 6f12751..6a75147 100644
--- a/hw/usb-hid.c
+++ b/hw/usb-hid.c
@@ -541,41 +541,13 @@ void usb_hid_datain_cb(USBDevice *dev, void *opaque, void (*datain)(void *))
     s->datain = datain;
 }
 
-static int usb_hid_post_load(void *opaque, int version_id)
-{
-    USBHIDState *s = opaque;
-
-    if (s->hid.idle) {
-        hid_set_next_idle(&s->hid, qemu_get_clock_ns(vm_clock));
-    }
-    return 0;
-}
-
-static const VMStateDescription vmstate_usb_ptr_queue = {
-    .name = "usb-ptr-queue",
-    .version_id = 1,
-    .minimum_version_id = 1,
-    .fields = (VMStateField []) {
-        VMSTATE_INT32(xdx, HIDPointerEvent),
-        VMSTATE_INT32(ydy, HIDPointerEvent),
-        VMSTATE_INT32(dz, HIDPointerEvent),
-        VMSTATE_INT32(buttons_state, HIDPointerEvent),
-        VMSTATE_END_OF_LIST()
-    }
-};
 static const VMStateDescription vmstate_usb_ptr = {
     .name = "usb-ptr",
     .version_id = 1,
     .minimum_version_id = 1,
-    .post_load = usb_hid_post_load,
     .fields = (VMStateField []) {
         VMSTATE_USB_DEVICE(dev, USBHIDState),
-        VMSTATE_STRUCT_ARRAY(hid.ptr.queue, USBHIDState, QUEUE_LENGTH, 0,
-                             vmstate_usb_ptr_queue, HIDPointerEvent),
-        VMSTATE_UINT32(hid.head, USBHIDState),
-        VMSTATE_UINT32(hid.n, USBHIDState),
-        VMSTATE_INT32(hid.protocol, USBHIDState),
-        VMSTATE_UINT8(hid.idle, USBHIDState),
+        VMSTATE_HID_POINTER_DEVICE(hid, USBHIDState),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -584,18 +556,9 @@ static const VMStateDescription vmstate_usb_kbd = {
     .name = "usb-kbd",
     .version_id = 1,
     .minimum_version_id = 1,
-    .post_load = usb_hid_post_load,
     .fields = (VMStateField []) {
         VMSTATE_USB_DEVICE(dev, USBHIDState),
-        VMSTATE_UINT32_ARRAY(hid.kbd.keycodes, USBHIDState, QUEUE_LENGTH),
-        VMSTATE_UINT32(hid.head, USBHIDState),
-        VMSTATE_UINT32(hid.n, USBHIDState),
-        VMSTATE_UINT16(hid.kbd.modifiers, USBHIDState),
-        VMSTATE_UINT8(hid.kbd.leds, USBHIDState),
-        VMSTATE_UINT8_ARRAY(hid.kbd.key, USBHIDState, 16),
-        VMSTATE_INT32(hid.kbd.keys, USBHIDState),
-        VMSTATE_INT32(hid.protocol, USBHIDState),
-        VMSTATE_UINT8(hid.idle, USBHIDState),
+        VMSTATE_HID_KEYBOARD_DEVICE(hid, USBHIDState),
         VMSTATE_END_OF_LIST()
     }
 };
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 5/6] milkymist-softusb: use hid code directly
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 4/6] usb-hid: use hid vmstate macro Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 6/6] usb-hid: remove usb_hid_datain_cb Gerd Hoffmann
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Walle, Gerd Hoffmann

From: Michael Walle <michael@walle.cc>

Remove the dummy USB device and use the HID code directly. Use the HID code
for the mouse support, too.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/milkymist-softusb.c |  122 +++++++++++++++---------------------------------
 1 files changed, 38 insertions(+), 84 deletions(-)

diff --git a/hw/milkymist-softusb.c b/hw/milkymist-softusb.c
index 75c85ae..fe4eedb 100644
--- a/hw/milkymist-softusb.c
+++ b/hw/milkymist-softusb.c
@@ -25,7 +25,7 @@
 #include "sysbus.h"
 #include "trace.h"
 #include "console.h"
-#include "usb.h"
+#include "hid.h"
 #include "qemu-error.h"
 
 enum {
@@ -46,9 +46,8 @@ enum {
 
 struct MilkymistSoftUsbState {
     SysBusDevice busdev;
-    USBBus usbbus;
-    USBPort usbport[2];
-    USBDevice *usbdev;
+    HIDState hid_kbd;
+    HIDState hid_mouse;
 
     qemu_irq irq;
 
@@ -62,13 +61,10 @@ struct MilkymistSoftUsbState {
     uint32_t regs[R_MAX];
 
     /* mouse state */
-    int mouse_dx;
-    int mouse_dy;
-    int mouse_dz;
-    uint8_t mouse_buttons_state;
+    uint8_t mouse_hid_buffer[4];
 
     /* keyboard state */
-    uint8_t kbd_usb_buffer[8];
+    uint8_t kbd_hid_buffer[8];
 };
 typedef struct MilkymistSoftUsbState MilkymistSoftUsbState;
 
@@ -177,16 +173,10 @@ static inline void softusb_write_pmem(MilkymistSoftUsbState *s,
 static void softusb_mouse_changed(MilkymistSoftUsbState *s)
 {
     uint8_t m;
-    uint8_t buf[4];
-
-    buf[0] = s->mouse_buttons_state;
-    buf[1] = s->mouse_dx;
-    buf[2] = s->mouse_dy;
-    buf[3] = s->mouse_dz;
 
     softusb_read_dmem(s, COMLOC_MEVT_PRODUCE, &m, 1);
     trace_milkymist_softusb_mevt(m);
-    softusb_write_dmem(s, COMLOC_MEVT_BASE + 4 * m, buf, 4);
+    softusb_write_dmem(s, COMLOC_MEVT_BASE + 4 * m, s->mouse_hid_buffer, 4);
     m = (m + 1) & 0xf;
     softusb_write_dmem(s, COMLOC_MEVT_PRODUCE, &m, 1);
 
@@ -200,7 +190,7 @@ static void softusb_kbd_changed(MilkymistSoftUsbState *s)
 
     softusb_read_dmem(s, COMLOC_KEVT_PRODUCE, &m, 1);
     trace_milkymist_softusb_kevt(m);
-    softusb_write_dmem(s, COMLOC_KEVT_BASE + 8 * m, s->kbd_usb_buffer, 8);
+    softusb_write_dmem(s, COMLOC_KEVT_BASE + 8 * m, s->kbd_hid_buffer, 8);
     m = (m + 1) & 0x7;
     softusb_write_dmem(s, COMLOC_KEVT_PRODUCE, &m, 1);
 
@@ -208,62 +198,42 @@ static void softusb_kbd_changed(MilkymistSoftUsbState *s)
     qemu_irq_pulse(s->irq);
 }
 
-static void softusb_mouse_event(void *opaque,
-       int dx, int dy, int dz, int buttons_state)
+static void softusb_kbd_hid_datain(HIDState *hs)
 {
-    MilkymistSoftUsbState *s = opaque;
+    MilkymistSoftUsbState *s = container_of(hs, MilkymistSoftUsbState, hid_kbd);
+    int len;
 
     /* if device is in reset, do nothing */
     if (s->regs[R_CTRL] & CTRL_RESET) {
         return;
     }
 
-    trace_milkymist_softusb_mouse_event(dx, dy, dz, buttons_state);
+    len = hid_keyboard_poll(hs, s->kbd_hid_buffer, sizeof(s->kbd_hid_buffer));
 
-    s->mouse_dx = dx;
-    s->mouse_dy = dy;
-    s->mouse_dz = dz;
-    s->mouse_buttons_state = buttons_state;
-
-    softusb_mouse_changed(s);
+    if (len == 8) {
+        softusb_kbd_changed(s);
+    }
 }
 
-static void softusb_usbdev_datain(void *opaque)
+static void softusb_mouse_hid_datain(HIDState *hs)
 {
-    MilkymistSoftUsbState *s = opaque;
-
-    USBPacket p;
-
-    usb_packet_init(&p);
-    usb_packet_setup(&p, USB_TOKEN_IN, 0, 1);
-    usb_packet_addbuf(&p, s->kbd_usb_buffer, sizeof(s->kbd_usb_buffer));
-    s->usbdev->info->handle_data(s->usbdev, &p);
-    usb_packet_cleanup(&p);
-
-    softusb_kbd_changed(s);
-}
+    MilkymistSoftUsbState *s =
+            container_of(hs, MilkymistSoftUsbState, hid_mouse);
+    int len;
 
-static void softusb_attach(USBPort *port)
-{
-}
+    /* if device is in reset, do nothing */
+    if (s->regs[R_CTRL] & CTRL_RESET) {
+        return;
+    }
 
-static void softusb_detach(USBPort *port)
-{
-}
+    len = hid_pointer_poll(hs, s->mouse_hid_buffer,
+            sizeof(s->mouse_hid_buffer));
 
-static void softusb_child_detach(USBPort *port, USBDevice *child)
-{
+    if (len == 4) {
+        softusb_mouse_changed(s);
+    }
 }
 
-static USBPortOps softusb_ops = {
-    .attach = softusb_attach,
-    .detach = softusb_detach,
-    .child_detach = softusb_child_detach,
-};
-
-static USBBusOps softusb_bus_ops = {
-};
-
 static void milkymist_softusb_reset(DeviceState *d)
 {
     MilkymistSoftUsbState *s =
@@ -273,11 +243,11 @@ static void milkymist_softusb_reset(DeviceState *d)
     for (i = 0; i < R_MAX; i++) {
         s->regs[i] = 0;
     }
-    s->mouse_dx = 0;
-    s->mouse_dy = 0;
-    s->mouse_dz = 0;
-    s->mouse_buttons_state = 0;
-    memset(s->kbd_usb_buffer, 0, sizeof(s->kbd_usb_buffer));
+    memset(s->kbd_hid_buffer, 0, sizeof(s->kbd_hid_buffer));
+    memset(s->mouse_hid_buffer, 0, sizeof(s->mouse_hid_buffer));
+
+    hid_reset(&s->hid_kbd);
+    hid_reset(&s->hid_mouse);
 
     /* defaults */
     s->regs[R_CTRL] = CTRL_RESET;
@@ -304,23 +274,8 @@ static int milkymist_softusb_init(SysBusDevice *dev)
     cpu_register_physical_memory(s->dmem_base, s->dmem_size,
             dmem_ram | IO_MEM_RAM);
 
-    qemu_add_mouse_event_handler(softusb_mouse_event, s, 0, "Milkymist Mouse");
-
-    /* create our usb bus */
-    usb_bus_new(&s->usbbus, &softusb_bus_ops, NULL);
-
-    /* our two ports */
-    /* FIXME: claim to support full speed devices. qemu mouse and keyboard
-     * report themselves as full speed devices. */
-    usb_register_port(&s->usbbus, &s->usbport[0], NULL, 0, &softusb_ops,
-            USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
-    usb_register_port(&s->usbbus, &s->usbport[1], NULL, 1, &softusb_ops,
-            USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
-
-    /* and finally create an usb keyboard */
-    s->usbdev = usb_create_simple(&s->usbbus, "usb-kbd");
-    usb_hid_datain_cb(s->usbdev, s, softusb_usbdev_datain);
-    s->usbdev->info->handle_reset(s->usbdev);
+    hid_init(&s->hid_kbd, HID_KEYBOARD, softusb_kbd_hid_datain);
+    hid_init(&s->hid_mouse, HID_MOUSE, softusb_mouse_hid_datain);
 
     return 0;
 }
@@ -332,11 +287,10 @@ static const VMStateDescription vmstate_milkymist_softusb = {
     .minimum_version_id_old = 1,
     .fields      = (VMStateField[]) {
         VMSTATE_UINT32_ARRAY(regs, MilkymistSoftUsbState, R_MAX),
-        VMSTATE_INT32(mouse_dx, MilkymistSoftUsbState),
-        VMSTATE_INT32(mouse_dy, MilkymistSoftUsbState),
-        VMSTATE_INT32(mouse_dz, MilkymistSoftUsbState),
-        VMSTATE_UINT8(mouse_buttons_state, MilkymistSoftUsbState),
-        VMSTATE_BUFFER(kbd_usb_buffer, MilkymistSoftUsbState),
+        VMSTATE_HID_KEYBOARD_DEVICE(hid_kbd, MilkymistSoftUsbState),
+        VMSTATE_HID_POINTER_DEVICE(hid_mouse, MilkymistSoftUsbState),
+        VMSTATE_BUFFER(kbd_hid_buffer, MilkymistSoftUsbState),
+        VMSTATE_BUFFER(mouse_hid_buffer, MilkymistSoftUsbState),
         VMSTATE_END_OF_LIST()
     }
 };
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PATCH 6/6] usb-hid: remove usb_hid_datain_cb
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
                   ` (4 preceding siblings ...)
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 5/6] milkymist-softusb: use hid code directly Gerd Hoffmann
@ 2011-08-11  7:03 ` Gerd Hoffmann
  2011-08-12  7:02 ` [Qemu-devel] [PULL] usb patch queue Michael Tokarev
  2011-08-12 13:04 ` Anthony Liguori
  7 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-11  7:03 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

No users left, all migrated over to hw/hid.[ch].
Yea!  Zap it!

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb-hid.c |   14 --------------
 hw/usb.h     |    3 ---
 2 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/hw/usb-hid.c b/hw/usb-hid.c
index 6a75147..ba79466 100644
--- a/hw/usb-hid.c
+++ b/hw/usb-hid.c
@@ -45,8 +45,6 @@
 typedef struct USBHIDState {
     USBDevice dev;
     HIDState hid;
-    void *datain_opaque;
-    void (*datain)(void *);
 } USBHIDState;
 
 enum {
@@ -362,10 +360,6 @@ static void usb_hid_changed(HIDState *hs)
 {
     USBHIDState *us = container_of(hs, USBHIDState, hid);
 
-    if (us->datain) {
-        us->datain(us->datain_opaque);
-    }
-
     usb_wakeup(&us->dev);
 }
 
@@ -533,14 +527,6 @@ static int usb_keyboard_initfn(USBDevice *dev)
     return usb_hid_initfn(dev, HID_KEYBOARD);
 }
 
-void usb_hid_datain_cb(USBDevice *dev, void *opaque, void (*datain)(void *))
-{
-    USBHIDState *s = (USBHIDState *)dev;
-
-    s->datain_opaque = opaque;
-    s->datain = datain;
-}
-
 static const VMStateDescription vmstate_usb_ptr = {
     .name = "usb-ptr",
     .version_id = 1,
diff --git a/hw/usb.h b/hw/usb.h
index 84d04df..d784448 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -316,9 +316,6 @@ USBDevice *usb_host_device_open(const char *devname);
 int usb_host_device_close(const char *devname);
 void usb_host_info(Monitor *mon);
 
-/* usb-hid.c */
-void usb_hid_datain_cb(USBDevice *dev, void *opaque, void (*datain)(void *));
-
 /* usb-bt.c */
 USBDevice *usb_bt_init(HCIInfo *hci);
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
                   ` (5 preceding siblings ...)
  2011-08-11  7:03 ` [Qemu-devel] [PATCH 6/6] usb-hid: remove usb_hid_datain_cb Gerd Hoffmann
@ 2011-08-12  7:02 ` Michael Tokarev
  2011-08-12  7:57   ` Gerd Hoffmann
  2011-08-12 13:04 ` Anthony Liguori
  7 siblings, 1 reply; 30+ messages in thread
From: Michael Tokarev @ 2011-08-12  7:02 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

11.08.2011 11:03, Gerd Hoffmann wrote:
>   Hi,
> 
> More usb and hid bits.  Fixes a usb tablet regression with windows xp.
> milkymist goes use the new, splitted hid code directly instead of
> (ab-)using the usb-kbd device, which in turn allows to kill the
> usb_hid_datain_cb callback as no users are left.

The same question as about spice queue: should
at least the regression fix go to stable?

Thanks,

/mjt

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-08-12  7:02 ` [Qemu-devel] [PULL] usb patch queue Michael Tokarev
@ 2011-08-12  7:57   ` Gerd Hoffmann
  0 siblings, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-08-12  7:57 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: qemu-devel

On 08/12/11 09:02, Michael Tokarev wrote:
> 11.08.2011 11:03, Gerd Hoffmann wrote:
>>    Hi,
>>
>> More usb and hid bits.  Fixes a usb tablet regression with windows xp.
>> milkymist goes use the new, splitted hid code directly instead of
>> (ab-)using the usb-kbd device, which in turn allows to kill the
>> usb_hid_datain_cb callback as no users are left.
>
> The same question as about spice queue: should
> at least the regression fix go to stable?

Same answer ;)
The regression is present in master only, so no.

cheers,
   Gerd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
                   ` (6 preceding siblings ...)
  2011-08-12  7:02 ` [Qemu-devel] [PULL] usb patch queue Michael Tokarev
@ 2011-08-12 13:04 ` Anthony Liguori
  7 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-08-12 13:04 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 08/11/2011 02:03 AM, Gerd Hoffmann wrote:
>    Hi,
>
> More usb and hid bits.  Fixes a usb tablet regression with windows xp.
> milkymist goes use the new, splitted hid code directly instead of
> (ab-)using the usb-kbd device, which in turn allows to kill the
> usb_hid_datain_cb callback as no users are left.
>
> please pull,
>    Gerd
>
> The following changes since commit b9c6cbff76061537b722d55f0e321dde2a612a23:
>
>    Merge remote-tracking branch 'pm-arm/for-upstream' into pm (2011-08-09 19:16:43 +0200)

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> are available in the git repository at:
>
>    git://git.kraxel.org/qemu usb.23
>
> Gerd Hoffmann (2):
>        usb/hid: add hid_pointer_activate, use it
>        usb-hid: remove usb_hid_datain_cb
>
> Michael Walle (4):
>        hid: register kbd hander in init()
>        hid: introduce hid vmstate macros
>        usb-hid: use hid vmstate macro
>        milkymist-softusb: use hid code directly
>
>   hw/hid.c               |   76 +++++++++++++++++++++++++++--
>   hw/hid.h               |    1 +
>   hw/hw.h                |   20 ++++++++
>   hw/milkymist-softusb.c |  122 +++++++++++++++---------------------------------
>   hw/usb-hid.c           |   58 ++---------------------
>   hw/usb.h               |    3 -
>   6 files changed, 134 insertions(+), 146 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-09-02  9:56 Gerd Hoffmann
  2011-09-07  8:41 ` Gerd Hoffmann
  2011-09-08 14:23 ` Anthony Liguori
  0 siblings, 2 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-09-02  9:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

This is the current use patch queue with the following changes:

  * musb improvements (qdev windup)
  * fix ehci emulation for FreeBSD guests.
  * a bunch if usb-host fixes.
  * misc minir tweaks.

please pull,
  Gerd

Gerd Hoffmann (15):
  usb-host: start tracing support
  usb-host: reapurb error report fix
  usb-host: fix halted endpoints
  usb-host: limit open retries
  usb-host: fix configuration tracking.
  usb-host: claim port
  usb-host: endpoint table fixup
  usb-ehci: handle siTDs
  usb-host: constify port
  usb-host: parse port in /proc/bus/usb/devices scan
  usb: fix use after free
  usb-ccid: switch to USBDesc*
  usb-ccid: remote wakeup support
  usb: claim port at device initialization time.
  usb-host: tag as unmigratable

Juha Riihimäki (1):
  usb-musb: Add reset function

Peter Maydell (2):
  usb: Remove leading underscores from __musb_irq_max
  usb-musb: Take a DeviceState* in init function

 hw/tusb6010.c |   11 +-
 hw/usb-bus.c  |  110 ++++++++------
 hw/usb-ccid.c |  248 +++++++++++---------------------
 hw/usb-desc.h |    2 +-
 hw/usb-ehci.c |   65 +++++++--
 hw/usb-hub.c  |   12 +--
 hw/usb-musb.c |   26 +++-
 hw/usb-ohci.c |    4 +-
 hw/usb-uhci.c |   11 +-
 hw/usb.c      |   37 +++---
 hw/usb.h      |   11 +-
 trace-events  |   32 ++++
 usb-linux.c   |  448 ++++++++++++++++++++++++++++++++++-----------------------
 13 files changed, 561 insertions(+), 456 deletions(-)

The following changes since commit 625f9e1f54cd78ee98ac22030da527c9a1cc9d2b:

  Merge remote-tracking branch 'stefanha/trivial-patches' into staging (2011-09-01 13:57:19 -0500)

are available in the git repository at:

  git://git.kraxel.org/qemu usb.25

Gerd Hoffmann (15):
      usb-host: start tracing support
      usb-host: reapurb error report fix
      usb-host: fix halted endpoints
      usb-host: limit open retries
      usb-host: fix configuration tracking.
      usb-host: claim port
      usb-host: endpoint table fixup
      usb-ehci: handle siTDs
      usb-host: constify port
      usb-host: parse port in /proc/bus/usb/devices scan
      usb: fix use after free
      usb-ccid: switch to USBDesc*
      usb-ccid: remote wakeup support
      usb: claim port at device initialization time.
      usb-host: tag as unmigratable

Juha Riihimäki (1):
      usb-musb: Add reset function

Peter Maydell (2):
      usb: Remove leading underscores from __musb_irq_max
      usb-musb: Take a DeviceState* in init function

 hw/tusb6010.c |   11 +-
 hw/usb-bus.c  |  110 ++++++++------
 hw/usb-ccid.c |  248 +++++++++++---------------------
 hw/usb-desc.h |    2 +-
 hw/usb-ehci.c |   65 +++++++--
 hw/usb-hub.c  |   12 +--
 hw/usb-musb.c |   26 +++-
 hw/usb-ohci.c |    4 +-
 hw/usb-uhci.c |   11 +-
 hw/usb.c      |   37 +++---
 hw/usb.h      |   11 +-
 trace-events  |   32 ++++
 usb-linux.c   |  448 ++++++++++++++++++++++++++++++++++-----------------------
 13 files changed, 561 insertions(+), 456 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-09-02  9:56 Gerd Hoffmann
@ 2011-09-07  8:41 ` Gerd Hoffmann
  2011-09-08 14:23 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Gerd Hoffmann @ 2011-09-07  8:41 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

   Hi,

> are available in the git repository at:
>
>    git://git.kraxel.org/qemu usb.25

Pushed new branch usb.26.

Rebased to latest master, solved conflicts due to tracing merge, adapted 
to tracing changes ("disabled" not needed any more in trace-events). 
Squashed in a warning fix (init port variable) here:

>        usb-host: parse port in /proc/bus/usb/devices scan

Don't feel like spamming the list with these minor changes.  But can do 
a full repost if prefered.

please pull,
   Gerd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-09-02  9:56 Gerd Hoffmann
  2011-09-07  8:41 ` Gerd Hoffmann
@ 2011-09-08 14:23 ` Anthony Liguori
  1 sibling, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-09-08 14:23 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 09/02/2011 04:56 AM, Gerd Hoffmann wrote:
>    Hi,
>
> This is the current use patch queue with the following changes:
>
>    * musb improvements (qdev windup)
>    * fix ehci emulation for FreeBSD guests.
>    * a bunch if usb-host fixes.
>    * misc minir tweaks.
>
> please pull,
>    Gerd


Pulled.  Thanks.

Regards,

Anthony Liguori

>
> Gerd Hoffmann (15):
>    usb-host: start tracing support
>    usb-host: reapurb error report fix
>    usb-host: fix halted endpoints
>    usb-host: limit open retries
>    usb-host: fix configuration tracking.
>    usb-host: claim port
>    usb-host: endpoint table fixup
>    usb-ehci: handle siTDs
>    usb-host: constify port
>    usb-host: parse port in /proc/bus/usb/devices scan
>    usb: fix use after free
>    usb-ccid: switch to USBDesc*
>    usb-ccid: remote wakeup support
>    usb: claim port at device initialization time.
>    usb-host: tag as unmigratable
>
> Juha Riihimäki (1):
>    usb-musb: Add reset function
>
> Peter Maydell (2):
>    usb: Remove leading underscores from __musb_irq_max
>    usb-musb: Take a DeviceState* in init function
>
>   hw/tusb6010.c |   11 +-
>   hw/usb-bus.c  |  110 ++++++++------
>   hw/usb-ccid.c |  248 +++++++++++---------------------
>   hw/usb-desc.h |    2 +-
>   hw/usb-ehci.c |   65 +++++++--
>   hw/usb-hub.c  |   12 +--
>   hw/usb-musb.c |   26 +++-
>   hw/usb-ohci.c |    4 +-
>   hw/usb-uhci.c |   11 +-
>   hw/usb.c      |   37 +++---
>   hw/usb.h      |   11 +-
>   trace-events  |   32 ++++
>   usb-linux.c   |  448 ++++++++++++++++++++++++++++++++++-----------------------
>   13 files changed, 561 insertions(+), 456 deletions(-)
>
> The following changes since commit 625f9e1f54cd78ee98ac22030da527c9a1cc9d2b:
>
>    Merge remote-tracking branch 'stefanha/trivial-patches' into staging (2011-09-01 13:57:19 -0500)
>
> are available in the git repository at:
>
>    git://git.kraxel.org/qemu usb.25
>
> Gerd Hoffmann (15):
>        usb-host: start tracing support
>        usb-host: reapurb error report fix
>        usb-host: fix halted endpoints
>        usb-host: limit open retries
>        usb-host: fix configuration tracking.
>        usb-host: claim port
>        usb-host: endpoint table fixup
>        usb-ehci: handle siTDs
>        usb-host: constify port
>        usb-host: parse port in /proc/bus/usb/devices scan
>        usb: fix use after free
>        usb-ccid: switch to USBDesc*
>        usb-ccid: remote wakeup support
>        usb: claim port at device initialization time.
>        usb-host: tag as unmigratable
>
> Juha Riihimäki (1):
>        usb-musb: Add reset function
>
> Peter Maydell (2):
>        usb: Remove leading underscores from __musb_irq_max
>        usb-musb: Take a DeviceState* in init function
>
>   hw/tusb6010.c |   11 +-
>   hw/usb-bus.c  |  110 ++++++++------
>   hw/usb-ccid.c |  248 +++++++++++---------------------
>   hw/usb-desc.h |    2 +-
>   hw/usb-ehci.c |   65 +++++++--
>   hw/usb-hub.c  |   12 +--
>   hw/usb-musb.c |   26 +++-
>   hw/usb-ohci.c |    4 +-
>   hw/usb-uhci.c |   11 +-
>   hw/usb.c      |   37 +++---
>   hw/usb.h      |   11 +-
>   trace-events  |   32 ++++
>   usb-linux.c   |  448 ++++++++++++++++++++++++++++++++++-----------------------
>   13 files changed, 561 insertions(+), 456 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-10-13 11:08 Gerd Hoffmann
  2011-10-14 16:25 ` Anthony Liguori
  0 siblings, 1 reply; 30+ messages in thread
From: Gerd Hoffmann @ 2011-10-13 11:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Here comes the usb patch queue with a bunch of bug fixes.
Check the individual patches for details.

please pull,
  Gerd

The following changes since commit ebffe2afceb1a17b5d134b5debf553955fe5ea1a:

  Merge remote-tracking branch 'qmp/queue/qmp' into staging (2011-10-10 08:21:46 -0500)

are available in the git repository at:

  git://git.kraxel.org/qemu usb.28

Gerd Hoffmann (7):
      usb-storage: fix NULL pointer dereference.
      usb-hub: need to check dev->attached
      usb: fix port reset
      usb-host: factor out code
      usb-host: handle USBDEVFS_SETCONFIGURATION returning EBUSY
      usb-hid: activate usb tablet / mouse after migration.
      usb-hub: don't trigger assert on packet completion.

Peter Maydell (2):
      hw/usb-ohci: Fix OHCI_TD_T1 bit position definition
      hw/usb-ohci: Honour endpoint maximum packet size

 hw/usb-ehci.c |    4 +-
 hw/usb-hid.c  |   11 ++++
 hw/usb-hub.c  |   12 +++-
 hw/usb-msd.c  |    5 +-
 hw/usb-ohci.c |   41 +++++++++----
 hw/usb-uhci.c |    2 +-
 hw/usb.c      |   12 ++++
 hw/usb.h      |    1 +
 usb-linux.c   |  176 ++++++++++++++++++++++++++++++++++++---------------------
 9 files changed, 180 insertions(+), 84 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-10-13 11:08 Gerd Hoffmann
@ 2011-10-14 16:25 ` Anthony Liguori
  0 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-10-14 16:25 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 10/13/2011 06:08 AM, Gerd Hoffmann wrote:
>    Hi,
>
> Here comes the usb patch queue with a bunch of bug fixes.
> Check the individual patches for details.
>
> please pull,
>    Gerd

Pulled.  Thanks.

Regards,

Anthony Liguori

>
> The following changes since commit ebffe2afceb1a17b5d134b5debf553955fe5ea1a:
>
>    Merge remote-tracking branch 'qmp/queue/qmp' into staging (2011-10-10 08:21:46 -0500)
>
> are available in the git repository at:
>
>    git://git.kraxel.org/qemu usb.28
>
> Gerd Hoffmann (7):
>        usb-storage: fix NULL pointer dereference.
>        usb-hub: need to check dev->attached
>        usb: fix port reset
>        usb-host: factor out code
>        usb-host: handle USBDEVFS_SETCONFIGURATION returning EBUSY
>        usb-hid: activate usb tablet / mouse after migration.
>        usb-hub: don't trigger assert on packet completion.
>
> Peter Maydell (2):
>        hw/usb-ohci: Fix OHCI_TD_T1 bit position definition
>        hw/usb-ohci: Honour endpoint maximum packet size
>
>   hw/usb-ehci.c |    4 +-
>   hw/usb-hid.c  |   11 ++++
>   hw/usb-hub.c  |   12 +++-
>   hw/usb-msd.c  |    5 +-
>   hw/usb-ohci.c |   41 +++++++++----
>   hw/usb-uhci.c |    2 +-
>   hw/usb.c      |   12 ++++
>   hw/usb.h      |    1 +
>   usb-linux.c   |  176 ++++++++++++++++++++++++++++++++++++---------------------
>   9 files changed, 180 insertions(+), 84 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2011-11-01 14:56 Gerd Hoffmann
  2011-11-01 18:13 ` Anthony Liguori
  0 siblings, 1 reply; 30+ messages in thread
From: Gerd Hoffmann @ 2011-11-01 14:56 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Three little usb patches for 1.0.

please pull,
  Gerd

The following changes since commit ff74c5a9a91c6dbf1017195462aa4176f7381240:

  Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging (2011-10-31 15:05:40 -0500)

are available in the git repository at:

  git://git.kraxel.org/qemu usb.29

Gerd Hoffmann (2):
      usb-hub: wakeup on attach
      usb-host: fix host close

Roy Tam (1):
      usb: change VID/PID for usb-hub and usb-msd to prevent conflict

 hw/usb-hub.c |    5 +++--
 hw/usb-msd.c |    4 ++--
 usb-linux.c  |    6 ++++--
 3 files changed, 9 insertions(+), 6 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2011-11-01 14:56 Gerd Hoffmann
@ 2011-11-01 18:13 ` Anthony Liguori
  0 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2011-11-01 18:13 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 11/01/2011 09:56 AM, Gerd Hoffmann wrote:
>    Hi,
>
> Three little usb patches for 1.0.
>
> please pull,
>    Gerd
>
> The following changes since commit ff74c5a9a91c6dbf1017195462aa4176f7381240:
>
>    Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging (2011-10-31 15:05:40 -0500)

Pulled.  Thanks.

Regards,

Anthony Liguori

> are available in the git repository at:
>
>    git://git.kraxel.org/qemu usb.29
>
> Gerd Hoffmann (2):
>        usb-hub: wakeup on attach
>        usb-host: fix host close
>
> Roy Tam (1):
>        usb: change VID/PID for usb-hub and usb-msd to prevent conflict
>
>   hw/usb-hub.c |    5 +++--
>   hw/usb-msd.c |    4 ++--
>   usb-linux.c  |    6 ++++--
>   3 files changed, 9 insertions(+), 6 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [Qemu-devel] [PULL] usb patch queue
@ 2012-02-28 10:20 Gerd Hoffmann
  2012-02-29 21:07 ` Anthony Liguori
  0 siblings, 1 reply; 30+ messages in thread
From: Gerd Hoffmann @ 2012-02-28 10:20 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Next batch of usb updates.  This one brings packet queuing for uhci and
xhci, so we have per-endpoint queues at usb-bus level now.  Need to
bring those to the usb drivers as next step, so they (especially
usb-host) can pipeline requests.

Also a bunch of bugfixes in ehci, smartcard emulation and usb redirect.

cheers,
  Gerd

The following changes since commit b4bd0b168e9f4898b98308f4a8a089f647a86d16:

  audio: Add some fall through comments (2012-02-25 18:16:11 +0400)

are available in the git repository at:
  git://git.kraxel.org/qemu usb.39

Alon Levy (4):
      usb-desc: fix user trigerrable segfaults (!config)
      libcacard: link with glib for g_strndup
      usb-ccid: advertise SELF_POWERED
      libcacard: fix reported ATR length

Gerd Hoffmann (10):
      usb-hid: fix tablet activation
      usb-ehci: fix reset
      usb-uhci: cleanup UHCIAsync allocation & initialization.
      usb-uhci: add UHCIQueue
      usb-uhci: process uhci_handle_td return code via switch.
      usb-uhci: implement packet queuing
      usb-xhci: enable packet queuing
      usb: add tracepoint for usb packet state changes.
      usb-ehci: sanity-check iso xfers
      ehci: drop old stuff

Hans de Goede (6):
      usb-ehci: Handle ISO packets failing with an error other then NAK
      usb-redir: Fix printing of device version
      usb-redir: Always clear device state on filter reject
      usb-redir: Let the usb-host know about our device filtering
      usb-redir: Limit return values returned by iso packets
      usb-redir: Return USB_RET_NAK when we've no data for an interrupt endpoint

Jan Kiszka (1):
      usb: Resolve warnings about unassigned bus on usb device creation

 configure          |    6 +-
 hw/usb-bt.c        |    4 +-
 hw/usb-bus.c       |   18 +---
 hw/usb-ccid.c      |    2 +-
 hw/usb-desc.c      |   20 +++-
 hw/usb-ehci.c      |   71 ++++++-------
 hw/usb-hid.c       |    3 +
 hw/usb-msd.c       |    4 +-
 hw/usb-net.c       |    4 +-
 hw/usb-serial.c    |    8 +-
 hw/usb-uhci.c      |  314 +++++++++++++++++++++++++++++++---------------------
 hw/usb-xhci.c      |    6 -
 hw/usb.c           |   27 +----
 hw/usb.h           |    7 +-
 libcacard/vcardt.h |    4 +-
 trace-events       |    3 +
 usb-bsd.c          |    4 +-
 usb-linux.c        |    4 +-
 usb-redir.c        |   46 ++++++--
 vl.c               |    7 +-
 20 files changed, 317 insertions(+), 245 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [Qemu-devel] [PULL] usb patch queue
  2012-02-28 10:20 Gerd Hoffmann
@ 2012-02-29 21:07 ` Anthony Liguori
  0 siblings, 0 replies; 30+ messages in thread
From: Anthony Liguori @ 2012-02-29 21:07 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel

On 02/28/2012 04:20 AM, Gerd Hoffmann wrote:
>    Hi,
>
> Next batch of usb updates.  This one brings packet queuing for uhci and
> xhci, so we have per-endpoint queues at usb-bus level now.  Need to
> bring those to the usb drivers as next step, so they (especially
> usb-host) can pipeline requests.
>
> Also a bunch of bugfixes in ehci, smartcard emulation and usb redirect.

Regards,

Anthony Liguori

>
> cheers,
>    Gerd
>
> The following changes since commit b4bd0b168e9f4898b98308f4a8a089f647a86d16:
>
>    audio: Add some fall through comments (2012-02-25 18:16:11 +0400)
>
> are available in the git repository at:
>    git://git.kraxel.org/qemu usb.39
>
> Alon Levy (4):
>        usb-desc: fix user trigerrable segfaults (!config)
>        libcacard: link with glib for g_strndup
>        usb-ccid: advertise SELF_POWERED
>        libcacard: fix reported ATR length
>
> Gerd Hoffmann (10):
>        usb-hid: fix tablet activation
>        usb-ehci: fix reset
>        usb-uhci: cleanup UHCIAsync allocation&  initialization.
>        usb-uhci: add UHCIQueue
>        usb-uhci: process uhci_handle_td return code via switch.
>        usb-uhci: implement packet queuing
>        usb-xhci: enable packet queuing
>        usb: add tracepoint for usb packet state changes.
>        usb-ehci: sanity-check iso xfers
>        ehci: drop old stuff
>
> Hans de Goede (6):
>        usb-ehci: Handle ISO packets failing with an error other then NAK
>        usb-redir: Fix printing of device version
>        usb-redir: Always clear device state on filter reject
>        usb-redir: Let the usb-host know about our device filtering
>        usb-redir: Limit return values returned by iso packets
>        usb-redir: Return USB_RET_NAK when we've no data for an interrupt endpoint
>
> Jan Kiszka (1):
>        usb: Resolve warnings about unassigned bus on usb device creation
>
>   configure          |    6 +-
>   hw/usb-bt.c        |    4 +-
>   hw/usb-bus.c       |   18 +---
>   hw/usb-ccid.c      |    2 +-
>   hw/usb-desc.c      |   20 +++-
>   hw/usb-ehci.c      |   71 ++++++-------
>   hw/usb-hid.c       |    3 +
>   hw/usb-msd.c       |    4 +-
>   hw/usb-net.c       |    4 +-
>   hw/usb-serial.c    |    8 +-
>   hw/usb-uhci.c      |  314 +++++++++++++++++++++++++++++++---------------------
>   hw/usb-xhci.c      |    6 -
>   hw/usb.c           |   27 +----
>   hw/usb.h           |    7 +-
>   libcacard/vcardt.h |    4 +-
>   trace-events       |    3 +
>   usb-bsd.c          |    4 +-
>   usb-linux.c        |    4 +-
>   usb-redir.c        |   46 ++++++--
>   vl.c               |    7 +-
>   20 files changed, 317 insertions(+), 245 deletions(-)
>
>

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2012-02-29 21:07 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-11  7:03 [Qemu-devel] [PULL] usb patch queue Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 1/6] usb/hid: add hid_pointer_activate, use it Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 2/6] hid: register kbd hander in init() Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 3/6] hid: introduce hid vmstate macros Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 4/6] usb-hid: use hid vmstate macro Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 5/6] milkymist-softusb: use hid code directly Gerd Hoffmann
2011-08-11  7:03 ` [Qemu-devel] [PATCH 6/6] usb-hid: remove usb_hid_datain_cb Gerd Hoffmann
2011-08-12  7:02 ` [Qemu-devel] [PULL] usb patch queue Michael Tokarev
2011-08-12  7:57   ` Gerd Hoffmann
2011-08-12 13:04 ` Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2012-02-28 10:20 Gerd Hoffmann
2012-02-29 21:07 ` Anthony Liguori
2011-11-01 14:56 Gerd Hoffmann
2011-11-01 18:13 ` Anthony Liguori
2011-10-13 11:08 Gerd Hoffmann
2011-10-14 16:25 ` Anthony Liguori
2011-09-02  9:56 Gerd Hoffmann
2011-09-07  8:41 ` Gerd Hoffmann
2011-09-08 14:23 ` Anthony Liguori
2011-07-20 10:23 Gerd Hoffmann
2011-07-08  9:50 Gerd Hoffmann
2011-07-12 14:52 ` Gerd Hoffmann
2011-07-19 15:59 ` Anthony Liguori
2011-06-24 10:59 Gerd Hoffmann
2011-06-24 13:30 ` Hans de Goede
2011-06-27 20:19 ` Anthony Liguori
2011-06-14 11:05 Gerd Hoffmann
2011-06-15 14:17 ` Anthony Liguori
2011-05-04 15:41 Gerd Hoffmann
2011-05-05 18:28 ` Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).