qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

UASP and Streams


From: spam collector
Subject: UASP and Streams
Date: Sun, 24 Oct 2021 18:52:10 -0400 (EDT)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]