* [9fans] Tdmaxpkt in usbehci (no html)
@ 2013-04-11 11:25 cinap_lenrek
2013-04-11 13:05 ` erik quanstrom
0 siblings, 1 reply; 3+ messages in thread
From: cinap_lenrek @ 2013-04-11 11:25 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
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 :(
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [9fans] Tdmaxpkt in usbehci (no html)
2013-04-11 11:25 [9fans] Tdmaxpkt in usbehci (no html) cinap_lenrek
@ 2013-04-11 13:05 ` erik quanstrom
2013-04-11 13:09 ` kernel panic
0 siblings, 1 reply; 3+ messages in thread
From: erik quanstrom @ 2013-04-11 13:05 UTC (permalink / raw)
To: 9fans
> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [9fans] Tdmaxpkt in usbehci (no html)
2013-04-11 13:05 ` erik quanstrom
@ 2013-04-11 13:09 ` kernel panic
0 siblings, 0 replies; 3+ messages in thread
From: kernel panic @ 2013-04-11 13:09 UTC (permalink / raw)
To: Fans of the OS Plan 9 from Bell Labs
yes, that would work too.
--
cinap
> Gesendet: Donnerstag, 11. April 2013 um 15:05 Uhr
> Von: "erik quanstrom" <quanstro@quanstro.net>
> An: 9fans@9fans.net
> Betreff: Re: [9fans] Tdmaxpkt in usbehci (no html)
>
> > 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
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-04-11 13:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-11 11:25 [9fans] Tdmaxpkt in usbehci (no html) cinap_lenrek
2013-04-11 13:05 ` erik quanstrom
2013-04-11 13:09 ` kernel panic
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).