On Wed, 2003-01-15 at 19:38, David Brownell wrote: > oliverthered wrote: > > On Wed, 2003-01-15 at 17:42, David Brownell wrote: > > > >>>+ if(!(ep_desc = usb_epnum_to_ep_desc(ps->dev, uurb.endpoint))) > >>>+ return -ENOENT; > >>>+ interval = ep_desc->bInterval; > >>>+ > >> > >>Shouldn't it be "interval = 1 << (ep_desc->bInterval -1);" instead? > >>For iso, bInterval is always a log2 encoding. > > > > > > Is this also true for interrupt or just ISO? > > What it says in the USB 2.0 spec: true for high speed interrupt > as well as all ISO endpoints. > > Full and low speed interrupt endpoints use a linear encoding > (with an effective max interval 128msec). > > >
ok I have in usb_20.pdf section 5.6.4 Iso transfers Full/high-speed endpoints must specify a desired period as (2^bInterval-1) * F where 1<=bInterval <=16 and f is 125 microseconds for fullspeed and 1millisecond for high speed. Section 5.8 interrupt transfers An endpoint for an interrupt pipe ........ full-speed period from 1ms to 255ms low-speed period from 10ms to 255ms High-speed (2^bInterval-1) *f where 1<=bInterval <=16 and f is 125 microseconds Table 9-13 Stadard Endpoint desc. Offset 6. bInterval size 1 Number Interval for polling endpoint for data transfers. Expressed in frames or microframes depending on the device (either 1 ms or 125 microseconds)) for full-high iso, this is log2 for full-low interrupts its 1 to 255 for high-speed interrupts its log2. Oh what fun...... I'll make a patch to fit the specification. ------------------------------------------------------- This SF.NET email is sponsored by: A Thawte Code Signing Certificate is essential in establishing user confidence by providing assurance of authenticity and code integrity. Download our Free Code Signing guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel