> in the ehci driver, it uses:
>  
> Tdmaxpkt = 0x5000, /* max buffer for a Td */
>  
> a td has 5*4K pages giving the 20K above, but i think this only applies if the
> first pointer is page aligned (page offset = 0) so all the pages can be filled
> completely.
>  
> The EHCI spec says this:
> "The buffer pointer list in the qTD is long enough to support a maximum 
> transfer size of 20K bytes. This case
> occurs when all five buffer pointers are used and the first offset is zero. A 
> qTD handles a 16Kbyte buffer
> with any starting buffer alignment."
>  
> The buffer pointer isnt page aligned as far as i can see, so make Tdmaxpkt = 
> 0x4000 instead?

i wonder if it would make more sense to align the buffer.

(the unaligned case for iso->data looks wierd, too.)

- erik

Reply via email to