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?
 
--
cinap
 
PS:
sorry for the previous mail. i was sending it with web mail which i use very 
rarely
and the default setting for email was to send them as HTML :(

Reply via email to