> > > > > No, that's not what it means.  Suspending all the devices attached to 
> > > > > a
> > > > > bus is different from suspending the bus itself.
> > > >
> > > > Well stopping any activity on the bus (that's what happen when
> > > > suspending all devices from the bus) sounds to me like suspending the
> > > > bus...
> > >
> > > But suspending the devices _doesn't_ stop all activity on the bus.  It
> > > doesn't stop SOF packets, for instance.  At least, it doesn't with UHCI,
> > > OHCI, or EHCI controllers.
> > 
> > hmm, suspending a usb device means stop sending SOF packets, doesn't it ?
> 
> No.  It means turning on the port-suspend feature on the device's parent
> hub, which might not even be the root hub.  SOF packets still get sent to
> all the other, non-suspended devices.

That assumes no hardware bugs, of course.  Having run into one of those
not that long ago (SOF packets getting blocked from all ports, not just
the one of them), I have to point that out.  ;)


> And even if you have suspended all the devices on the bus, the circuitry
> inside the host controller might still generate those SOF packets every
> millisecond even though they don't get transmitted anywhere.

So to emphasize, there's externally visible state like "no SOFs being sent
down any port".  Which by some definitions, would indeed be "bus suspended".

But there's also the internal clocking needed to issue such SOFs, and that
is not externally visible.  We've defined the "bus suspended" case to expect
some of that clocking to be disabled ... for example, maybe the 48MHz (or
24 MHz or whatever) oscillator driving the serial interface engine will turn
off.  So long as the ports can detect resume signaling, all is fine.

On top of that there may also be clocking needed by the controller itself;
sometimes called an "interface clock".  As in, to read the registers, the
registers must interact according to a clocked protocol ... no clock means
no readable/writable registers.  Much like PCI_D3hot or PCI_D2 (etc).  If
that clock is off, we call that "controller suspended".

- Dave



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to