UASP implementation for USB 3.0

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

 



Hi Sebastian,

This is with reference to the mail exchange (below) I had with Felipe
a couple of
days ago regarding UASP support in Linux for USB 3.0.

I have a working setup with my target board having USB 2.0 device
controller where,
I have a device node for a storage media which I use to load along with the
g_mass_storage for target board to act as a usb storage device when
connected to the host system. With the UASP in picture here, I am assuming
it supports only 2.0 USB protocol and will need changes for usb 3.0
enabled target.

Can you please give me access to the UASP code working with USB 3.0
which you have implemented so that I can study the enhancements.

Also, for which target framework was this used on?

Thanks in advance.

--
someshwar d


---------- Forwarded message ----------
From: Felipe Balbi <balbi@xxxxxx>
Date: Wed, Dec 28, 2011 at 6:33 PM
Subject: Re: Queries on dwc3 driver on Linux tree
To: Someshwar Danappa <someshwar.d@xxxxxxxxx>
Cc: balbi@xxxxxx, Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>,
Linux USB Mailing List <linux-usb@xxxxxxxxxxxxxxx>



>    I was studying the the Linux release (linux-3.2-rc1) for understanding the
>    level of support
>    the OS provides for USB 3.0 protocol in the gadget framework. My goal is
>    to understand
>    setup required to run Linux on a device and to implement USB mass storage
>    device support
>    "USB Attached SCSI" and "Bulk Only transfer" protocol with USB 3.0.

We have a working implementation of UASP using the Target Framework.
Sebastian (in Cc) wrote it. If you want access to the code, please ask
from him.

>    A few questions in which I need your help in answering,
>
>     1. I used to compile and load the g_mass_storage.ko gadget driver in
>        addition to the USB device controller driver for testing with USB 2.0.
>        Does this USB mass storage gadget driver have support for handling
>        Superspeed enumeration and data transfers?

yes.

>     2. In the Kconfig file of the DWC-USB3 driver you have added config macro
>        USB_GADGET_SUPERSPEED, which in turn enables code wrapped around the
>        API, gadget_is_superspeed() (eg: drivers/usb/gadget/composite.c). Are
>        those the extra code added for the Superspeed support in the gadget
>        framework?

Well, we're actually getting rid of those Kconfig macros and UDC driver
is supposed to tell its highest operating speed to gadget drivers. Take
a look linux-next for the latest code.

>     3. In the DWC-USB3 driver, could you throw some light on what the
>        gadget.c file does? Was this added as part of extending the gadget
>        support for Superspeed USB or does it only define and implement entry
>        points for the USB gadget framework?

drivers/usb/dwc3/gadget.c ? That's the gadget adaptation for dwc3
driver.

>     4. Does Linux have Superspeed support in class driver for the mass
>        storage gadget driver? If not, how do you suggest testing of the mass
>        storage gadget driver with super speed be done? What setup did you use
>        to test the DWC-USB3 device controller driver with Bulk transfers?

it should work out of the box. I've been using for the past few months
actually.

--
balbi
--
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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux