RE: USB 3.0 gadget stack

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

 



Tried to fix up the threading...

On Monday, February 02, 2009, Sarah Sharp wrote:
> On Mon, Feb 02, 2009 at 01:36:26PM -0800, Paul Zimmerman wrote:
>> On Monday, February 02, 2009, Sarah Sharp wrote:
>>> On Sat, Jan 31, 2009 at 12:08:49PM +0530, Viral Mehta wrote:
>>>>
>>>> I still do not understand how exactly core and gadget side driver or
>>>> controller or peripheral controller will address
>>>> backward/forward compatibility issues.
>>>>
>>>> Like USB3.0 device can be attached to USB2.0 bus and USB2.0 devices can
>>>> be attached to USB3.0 bus.
>>>
>>> A USB 3.0 device attached to a USB 2.0 port will show up as a USB 2.0
>>> device.  The USB 3.0 device will not see the USB 3.0 terminations and
>>> will just enumerate as a USB 2.0 device with USB 2.0 device descriptors.
>>> No support is necessary for that case, because the USB core knows how to
>>> deal with USB 2.0 devices.
>>>
>>> For the case of a USB 2.0 device plugged into a USB 3.0 port (under
>>> xHCI, presumably), there will need to be some changes to support the
>>> xHCI driver.  Those changes are part of my xHCI host controller
>>> patchset.
>>
>> I think the issue on the gadget side, is that a USB3 device will want to
>> support connecting to a USB2 host too. So whatever changes are added to the
>> gadget code for USB3, it must be possible to dynamically switch to either
>> USB2 or USB3 mode, depending upon the type of host detected.
>
> Sure, that makes sense.  It should be similar to how current gadget devices
> handle switching between LS/FS/HS.  ISTR that a USB 3.0 device must implement
> one of the slower speeds (LS/FS/HS), but it is up to the device which one it
> supports.  So any new code to switch between speeds would have to take that
> into account.
>
> Dave Brownell, is there common infrastructure for speed switching in the gadget
> core, or is it on a per-PCD basis?

It's not the speed switching I'm concerned about. It's the difference in the
mass-storage protocols.

For now, USB2 only supports the original MS class, and USB3 only supports the
UASP class. So a device that wants to be backward-compatible needs to support
both.

So either the current file-storage gadget needs to support both protocols, or we
need a new gadget for UASP, and allow the gadget driver to be switched at run
time.

--
Paul

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