Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 18 Nov 2010 11:06:37 -0500 (EST) | From | Alan Stern <> | Subject | Re: [PATCH v6] usb: Adding SuperSpeed support to dummy_hcd |
| |
On Thu, 18 Nov 2010, Tatyana Brokhman wrote:
> USB 3.0 hub includes 2 hubs - HS and SS ones. > Thus, when dummy_hcd enabled it will register 2 root hubs (SS and HS).
Hmm. A quick comparison with the original source shows that you neglected to add code for SuperSpeed transfers to periodic_bytes() and show_urb().
> @@ -1352,6 +1544,9 @@ static void dummy_timer (unsigned long _dum) > case USB_SPEED_HIGH: > total = 512/*bytes*/ * 13/*packets*/ * 8/*uframes*/; > break; > + case USB_SPEED_SUPER: > + total = 400 << 20; /* 400MB = 400*(2^20) bytes */ > + break;
Somehow I doubt that SuperSpeed USB, quick though it is, can transfer 400 MB in one millisecond. Where did you get that number from?
I can't find the appropriate table in the USB-3.0 spec (it might not be there at all), but with a bus transfer rate of 500 million bytes/s it seems clear that you can't transfer more than 500000 bytes per frame. The actual limit must be lower than that, maybe something like 1024 bytes/packet * 60 packets/uframe * 8 uframes/frame = 491520 bytes/frame.
Alan Stern
| ![\](/images/icornerr.gif) |