On Sat, 12 May 2007, Pete Zaitcev wrote:

> On Sat, 12 May 2007 15:40:45 -0400 (EDT), Alan Stern <[EMAIL PROTECTED]> 
> wrote:
> 
> > > timestamp, which would not depend on HC implementing SOF number
> > > as a monotonously increasing counter (I think, it's not guaranteed).
> 
> > The frame numbers are guaranteed to be monotonically increasing until they
> > roll over from 2047 to 0 (see 8.3.3, 8.4.3, and 10.2.3 in the USB spec).
> 
> I see, you're right, of course. I only looked at 8.4.3, and it was somewhat
> vague. The 10.2.3 places stronger restrictions on the way numbers are
> generated, although oddly enough it alows a host to keep wider counters
> than are needed.

Indeed, the spec includes this puzzling language:

        The current (micro)frame number as returned by the host (Host
        Controller or HCD) is at least 32 bits, although the Host
        Controller itself is not required to maintain more than 11 bits
        when operating with full-speed devices or 14 bits when operating
        with high-speed devices.

It's not at all clear what this is supposed to mean.  Does it refer to a
register in the host controller hardware, or is it talking about the value
returned from a driver's subroutine?  Does it mean that a 32-bit value is
returned, of which only the lowest 11 (or 14) need to be valid?  Or does
it mean that the driver should maintain a full 32-bit (minimum) counter,
where the lowest bits always agree with the value reported by the
hardware?

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
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