All of lore.kernel.org
 help / color / mirror / Atom feed
* UASP and Streams
@ 2021-10-24 22:52 spam collector
  0 siblings, 0 replies; only message in thread
From: spam collector @ 2021-10-24 22:52 UTC (permalink / raw)
  To: qemu-devel

I have a question about the emulation of streams and UASP with the two xhci controller options QEMU supports: qemu-xhci and nec-usb-xhci

It is my understanding that the UASP code checks to see if streams are supported by simply checking if the device is a Super Speed Device?

https://gitlab.com/qemu-project/qemu/-/blob/master/hw/usb/dev-uas.c#L338
  static bool uas_using_streams(UASDevice *uas)
  {
      return uas->dev.speed == USB_SPEED_SUPER;
  }

The "qemu-xhci" xHC option supports streams, however the "nec-usb-xhci" xHC option does not.
xHC:HCCPARAMS1: Bits 15:12 = 7 on the former and 0 on the latter.

Also, the above code assumes the device attached supports streams.

My question is, does QEMU's current implementation of UASP assume that streams are supported by the xHCI xHC?
If so, UASP won't work with the "nec-usb-xhci" xHC option.

Also, if the Guest OS doesn't support streams on a xHC that does--by this OS setting the correct values in the xHCI EndPoint's Context ( MaxPStreams = 0, LSA = 0, HID = 1, etc. )--a correct emulation should still work without streams, correct?

Is the above information a correct assumption on the current UASP emulation, or have I missed something all-together?

Anyway, I thank all of you who have put in so much time and effort into this emulator.  It is much appreciated.
Ben


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-10-24 22:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 22:52 UASP and Streams spam collector

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.