Re: Question about xHCI

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

 



On Thu, Apr 19, 2012 at 04:42:04PM -0400, Mike Vlad wrote:
> Hello Sarah,
> 
>  I've been trying to get answers to some questions from Intel and elsewhere and it proved unsuccessful. Long story short, I discovered you and your involvement in xHCI. I don't know much about hardware/software inner workings, and am looking for a little clarification:
> 
>  1a) Can a controller compliant to xHCI rev. 0.96 be updated to 1.0? (i.e. via firmware/bios/Linux kernel update?)

No, the hardware registers are different.  A 0.96 or 1.0 chipset is
certified to that particular specification revision, and the vendor has
no incentive to provide an upgrade.

>  1b) Or are these revisions hardware based? (Meaning whatever revision it comes with, it has to stay that way)

Yes.

>  2) Does it look like there's a revision after 1.0 on the horizon?

Let me explain what the 0.96 and 1.0 revisions mean before I answer that
question.

>  The thing I don't understand is what xHCI really is, in simple terms. A driver? A hardware architecture?

xHCI is a spec that defines the interface between the eXtensible Host
Controller (xHC) and software.  So it's an interface specification, that
defines both the registers that the hardware needs to expose, and the
data structures and behavioral model that a software driver needs to use
in order to communicate with the hardware.

Basically, the 0.96 spec was released to allow third-party host vendors
to create PCIe add-in cards or stand-alone chips that OEMs could add to
their motherboard.  You can only integrate an xHC into a chipset (making
the hardware physically part of the chipset package) if you comply with
the xHCI 1.0 spec.

Think of the 0.96 spec as a test run.  Intel wanted to make sure the
interface architecture is correct before we allow anyone (including
ourselves) to integrate it into chipsets that are harder to swap out
than a stand-alone chip.

There were architectural issues that were fixed in the 1.0 spec that
were found in the 0.96 spec.  I can't remember too much about what got
fixed though.  Some registry tweaks, maybe some bulk streams hardware
behavioral fixes for the new USB storage class, USB attached SCSI (UAS),
and some updates for the USB 2.1 low power states (link PM).

If Intel were ever to have a "1.1" xHCI spec, it would probably be a
compilation of the errata that's currently available against the 1.0
spec.  But it's not a big leap, like from discrete hosts to integrated
hosts like the 0.96 to 1.0 spec is.

>  I'm looking to buy a 7 series Intel motherboard soon (which complies to rev. 1.0 according to an Intel datasheet for OEMs) and all the ones I wanted have 3rd party USB 3.0 controllers (ASMedia ASM1042) that comply to 0.96, even though the latest is 1.0. So my thinking is that I don't want to get controllers with "old standards" and have a feature(s) missing that I may need in the future when USB 3.0 matures, assuming no updates are possible.

Back at IDF, Intel announced that our Ivy Bridge chipset (Panther Point)
will have an integrated (1.0) xHCI host controller.  If you really want
a 1.0 host, then you should wait for an Ivy Bridge system.

I'm using a discrete 0.96 NEC xHCI in my personal x220 laptop, but
that's because I'm a crazy early adopter who couldn't wait to get a new
computer with USB 3.0. :)  I have to say, I wish I had waited for the
Ivy Bridge ultrabooks instead, since those will be much thinner and
lighter, and have an Intel 1.0 xHCI host.  I've been waiting to upgrade
my work laptop until Ivy Bridge comes out, of course.

Bit of legalize: The above paragraph is designed to express my personal
preference, and should in no way be construed as being the opinions of
my employer, Intel.

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