Re: xHCI USB2 link state change issue

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

 



On Fri, 4 Nov 2011, Sarah Sharp wrote:

> > > But USB_PORT_STAT_C_PORT_LINK_STATE is never exposed to the USB core for
> > > USB 2.0 roothubs, since external USB 2.0 hubs don't have that bit.  So
> > > it needs to be cleared internally in the xHCI driver.
> > 
> > Hmmm.  It looks like include/linux/usb/ch11.h also needs to be fixed
> > up.  Table 11-17 in the USB-2.0 spec defines port feature numbers only
> > up to 22; the remaining entries (23 - 30) must be introduced elsewhere.  
> > In addition, some of the port feature #define's in that file are
> > duplicates.

(And the ones that aren't duplicates are slightly different from the
names in the USB-3.0 spec...)

Do you want to fix this up?  I don't seem to have any copies of the
USB-2.0 link power management ECN.  (And www.usb.org forces you to
download an archive of _all_ the spec files instead of allowing you to
pick and choose the ones you want, argh.)

> > Anyway, once that's done we could add code to handle 
> > USB_PORT_STAT_C_PORT_LINK_STATE to the hub driver.
> 
> So you don't mind adding code to the hub driver that will only run for
> the roothub?  I thought the idea was to treat roothubs exactly like
> external hubs, which is why there's that horrible layering abstraction
> of khubd submitting URBs that just get passed down to the host
> controller driver.  Not that I *mind* the hub driver handling the link
> state change for USB 2.0 and USB 3.0 ports...

Why wouldn't an external USB-3 hub report USB_PORT_STAT_C_LINK_STATE in
its wPortChange value?  10.14.2.6.2 seems to say that external hubs
should set this bit as needed.

The fact that a xHCI USB-2 root hub might report it as well would then
be handled for free.

Alan Stern

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