Re: [linux-pm] [PATCH] get USB suspend to work again on 2.6.17-mm1

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

 



On Saturday 24 June 2006 7:42 pm, Jim Gettys wrote:
> On Thu, 2006-06-22 at 20:34 -0700, David Brownell wrote:
> 
> > Under what scenario could it possibly be legitimate to suspend a
> > usb device -- or interface, or anything else -- with its children
> > remaining active?  The ability to guarantee that could _never_ happen
> > was one of the fundamental motivations for the driver model ...
> 
> I'm not sure this directly applies, but....

It's not a counterexample, but it may be an interesting example of
the sort of loosely coupled multiprocessor that gets more common.
The different processors use different power management schemes.
(I think an ACPI "embedded processor" has related issues.)


> The Marvell wireless chip we're using this generation in the OLPC
> machine is interfaced via USB.  Not ideal, but there's no other game in
> town to let us keep the mesh network up while the main machine is STR.

So presumably it's both "self" powered (so far as the parent hub is
concerned!) and also has some kind of cpu and firmware.  I'll assume
this chipset is used with discrete products too, not only for wiring to
motherboards.  (Despite the board layout advantages of using serial
interfaces:  fewer high speed signal lines, etc.)


> We intend to leave the Marvell chip on (it can forward packets in the
> mesh network, and/or wake up the CPU if there are inbound packets for
> the machine that matter), and turn off the USB interface it is attached
> to.

The normal way to do such things -- from the perspective of the firmware
inside a USB peripheral doing that routing etc -- recognizes that the
USB suspend state affects only the upstream link, and uses remote wakeup
signaling in the normal fashion.  (An SPI or I2C/SMBUS based coprocessor
probably needs an IRQ signal line.)

That is, from the perspective of the host CPU, it's suspended normally.
Just like any other USB device (like I sketched above).

But the peripheral's CPU can continue doing whatever it likes ... which
doesn't necessarily include stopping.  Bus powered USB peripherals would
probably try to suspend their CPUs though, since otherwise it may be hard
to meet the 500 microAmpere power budget.

- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux