Alan Stern wrote:

Okay. I gather that after suspend() returns there should be no bus
activity at all to the HC: DMA, PIO, regular I/O, whatever (with the
possible exception of remote-wakeup IRQs). And after resume() returns the
HCD should be fully operational and ready to accept URB submissions.

Yes. I've got some patches pending to make sure that after suspend, usbcore won't even try talking to the HC. (Based on Ben's patch.)


I also gather that reset() is really more like a probe -- it should
initialize the driver's data structures and generally prepare for start().

It's primarily a "force device into known state" so that later initialization steps -- including start() -- behave consistently. Or so that after HC misbehavior, it's really doing nothing.


... but USB suspend could happen at
other times, it's just "idle bus" (no SOF generation or other
traffic) that lets devices save power (battery etc) and lets the
host avoid accessing memory (scanning schedule etc).


UHCI does this when no devices are plugged in. Maybe at some point we can add code that will detect when no URBs have been around for some period of time and initiate a suspend then too.

Maybe after the basic PM infrastructure works. Currently non-USB problems are in the way.


Since nothing turns on remote wakeup with USB, I'm suspecting
we shouldn't be expecting resume signaling.  (And should be
cautious about suspending any port with a device on it.)  But
I've not dived particularly into that chunk of USB.


What do you mean about being cautious?

Exactly that: this is new territory for Linux-USB. You had commented that UHCI only does this if no devices are connected, that'd seem to be cautious enough for now. (OHCI doesn't do it except during system suspend, which is also cautious.)

- Dave



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to