[U-Boot] [PATCH] net: force PKTALIGN to ARCH_DMA_MINALIGN

Mike Frysinger vapier at gentoo.org
Fri Mar 16 17:18:50 CET 2012


On Thursday 15 March 2012 23:36:34 Eric Nelson wrote:
> I do see a potential problem with eth.c iff CONFIG_API is set, but I'm
> unfamiliar with this API. It appears to me that this declaration
> needs to be aligned, with or without the PKTALIGN change or it won't be
> usable with DMA since PKTSIZE is unlikely to be cache line or DMA friendly
> at 1518 (0x5EE) bytes.
> 
> 	static struct {
> 		uchar data[PKTSIZE];
> 		int length;
> 	} eth_rcv_bufs[PKTBUFSRX];
> 
> It appears that the CONFIG_API macro is only defined for PMC440. Is this
> supported for other machines?

CONFIG_API is the new standalone api.  it uses a syscall-like approach to 
maintaining compatibility unlike the current standalone api which breaks 
easily.

however, this struct is used only internally.  the exposed function calls are 
unchanged.  so changing the size of the buffer is OK generally speaking.

there is a slight behavior change though.  if you look at the funcs, they only 
accept buffers that are smaller than PKTSIZE bytes.  i'm not sure we care about 
this detail though.  i think the max size you can send is arbitrary and was 
designed just so you could get a frame's worth of data at a time, so as long 
as that ceiling isn't violated, it's OK.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20120316/d9268c5d/attachment.pgp>


More information about the U-Boot mailing list