On Tue, 10 Apr 2012, Kevin Cernekee wrote: > > PCI devices have two different power wells, one for normal use and one > > for use during suspend. As far as I know, there is no way to turn off > > power to the auxiliary well short of turning off the entire computer. > > Rafael may have a more complete picture. > > That may be the case on PCs, It should be true on any system -- PC, SoC, or anything else -- that uses PCI. But again, my knowledge is limited. > but on many embedded systems (mine > included), entire hardware blocks can be clock-gated or power-gated > without shutting off the rest of the system. Then why isn't there a way to clock-gate or power-gate the parts of a hardware block used for data communication while leaving the circuits involved in wakeup detection active? Such a capability is part of the EHCI specification. > Going back to the NAS example I mentioned earlier - I would imagine > that merely resuming the USB/SATA controller + HDD when a new request > arrives is going to provide a much faster recovery time than rebinding > + redetecting + remounting. Certainly. And leaving the USB controller suspended but powered up would be even faster. Furthermore, what happens when the user plugs in a new USB device, or unplugs one that is already attached? The USB specification is very clear about what device suspend entails; completely turning off the power violates the spec. > (Of course that raises issues like: what if somebody unplugs the > current HDD, then plugs in a different HDD, while the USB/SATA core is > asleep?) Right. Although we do try to detect that sort of thing, since it can also happen during hibernation. But our detection methods are not 100% accurate. Alan Stern _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/linux-pm