Re: [PATCH 5/9 v2] xHCI: stop device only in U0 state

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

 



On Wed, Aug 31, 2011 at 04:36:47PM +0800, Andiry Xu wrote:
> On Wed, 2011-08-31 at 00:27 +0800, Sarah Sharp wrote:
> > So if a USB 2.0 device's endpoint ring must be empty for it to be in
> > L1,
> > we're fine on that side.  But I'm concerned that when we get around to
> > implementing USB 3.0 LPM, we'll have issues if your host controller
> > cannot respond to the stop endpoint command when the device is in
> > U1/U2.
> > 
> From my observation, the ep rings are empty when the device is in U2
> state. But seems spec does not guarantee that.

Mmm, you might want to double check with the hardware engineers about
this issue, especially for USB 3.0 LPM.

> > That's why I think you need to have the port in U0 to successfully
> > place
> > it in U3.  Even if transitioning it directly from U2 to U3 works on
> > one
> > host controller, there's no guarantee that it will work on another
> > host
> > controller.
> > 
> OK, according to the state machine figure, it appears a port can not
> transition from U2 to U3 directly. So I think the driver should work
> like this:
> 
> When driver wants to put the port into U3:
> 	disable hardware LPM if it's enabled;
> 	resume the port to U0 if it's in U1/U2;
> 	stop its endpoints;
> 	put the port into U3.
> 
> And when resume the port from U3 to U0, enable hardware LPM again. Is
> that acceptable? 

Yes, that sounds correct.

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