Hi,
On 10/10/2013 09:04 PM, Sarah Sharp wrote:
On Fri, Oct 04, 2013 at 12:29:43AM +0200, Hans de Goede wrote:
Hi All,
Hi Hans,
After spending 1.5 weeks debugging issues with xhci streams which would
hard-freeze my machine every 5 minutes, I'm very happy to present this
patch set, with which usb 3 streams are fully stable for me, including
using them from userspace through qemu usb redirection (I'll post
kernel patches for that tomorrow). This was tested with an uas device
using Gerd Hoffmann's uas fixes / patches.
Thanks for taking the time to make this work. I'll review and test
these patches shortly, along with Gerd's UAS patches.
One question though: which xHCI host controller are you testing streams
on?
I've been testing with 2 systems so far, my main workstation which is
a sandy bridge system to which I've added a pci-e card with a
nec xhci controller to be able to test usb-3 :
01:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
And...
> I ask because I know the Intel Ivy Bridge/Panther Point xHCI host
is pretty broken when it comes to streams, and I'm going to have to
disable streams for that host. Haswell systems should work fine.
A Dell Latitude E6430, which is an Ivy Bridge, using the chipsets
xhci controller:
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
And streams are working ok for me so far, with that said some of the patches
in this set are specifically to get things to work on the Intel controller,
but (as the commit messages explain), this is because the Intel controller seems
to only keep the stream dequeue pointer (and css flag) in the stream ctx,
where as the nec controller also copies the dequeue ptr + css flag for the
active stream to the endpoint context.
Since after a stop_endpoint or a set dequeue ptr command the active stream is
the one we're interested in, we were getting away with reading the dequeue ptr /
css flag from the endpoint context even when using streams on the Nec controller
but not on the Intel one. The Intel behavior is in accordance with my reading of
the spec though, and with the Linux xhci driver fixed to read the dequeue ptr / css
flag from the stream context, it is working well for me. I've not done any real
stress testing though.
Regards,
Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html