I was puzzled why uas didn't accept to bind to tcm_usb_gadget via dummy_hcd.
Debugging showed that recent commit (14aec589327a6fc4035f5327d90ac5548f501c4c)
added the field can_do_streams to hcd structure but only set it to 1 in the
xhci driver.

dummy_hcd seems to support superspeed and streams fine, so I added
can_do_streams = 1 to dummy_hcd as well. This seems to allow uas
to bind again and as a result performance increased more than 3x :)
---
 drivers/usb/gadget/dummy_hcd.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c
index 8c06430..67ebf90 100644
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -2544,6 +2544,8 @@ static int dummy_hcd_probe(struct platform_device *pdev)
                retval = usb_add_hcd(ss_hcd, 0, 0);
                if (retval)
                        goto put_usb3_hcd;
+
+               ss_hcd->can_do_streams = 1;
        }
        return 0;
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to