[U-Boot] [PATCH 2/5] ehci-hcd: Boost transfer speed

Benoît Thébaudeau benoit.thebaudeau at advansee.com
Fri Jul 27 16:13:45 CEST 2012


Dear Marek,

On Fri, Jul 27, 2012 at 04:01:11 PM, Marek Vasut wrote:
> > Do you think
> > using PAGE_SIZE from <linux/compat.h> would be fine since these
> > 4096 are
> > nothing more than page sizes?
> 
> Isn't that intel-specific?

I don't know. The code does not say so. What is sure is that page sizes should
be arch-specific, even with several possible page sizes per arch. But this
#define seems to fit our needs, so why not use it? The only thing that would
make me reluctant to using it is that this code might change without further
notice.

> > > > +	}
> > > > +	qtd = memalign(USB_DMA_MINALIGN, qtd_count * sizeof(struct
> > > > qTD));
> > > 
> > > So your code can alloc more than 5 qTDs ? How does it chain them
> > > then? Into more
> > > QHs ?
> > 
> > It's done in exactly the same way as for the original 3 qTDs, only
> > with
> > more qTDs, but still with 5 qt_buffers per qTD.
> 
> I'm starting to see what you're trying to do. That's really cool :)

OK.

> [...]
> > > > +			token = (toggle << 31) |
> > > > +			    (xfr_bytes << 16) |
> > > > +			    ((req == NULL ? 1 : 0) << 15) |
> > > > +			    (0 << 12) |
> > > > +			    (3 << 10) |
> > > > +			    ((usb_pipein(pipe) ? 1 : 0) << 8) | (0x80 << 0);
> > > 
> > > If you could fix all this magic afterwards (not in these
> > > patches),
> > > that'd be
> > > great.
> > 
> > Do you only mean #defining all those values?
> 
> Yes, but let's do this in a subsequent patch. It can wait for later.

OK.

Regards,
Benoît


More information about the U-Boot mailing list