[U-Boot] [PATCH 1/5] net: ll_temac: Add LL TEMAC driver to u-boot

Stephan Linz linz at li-pro.net
Sun Jan 15 19:29:26 CET 2012


Am Sonntag, den 15.01.2012, 12:28 -0500 schrieb Mike Frysinger: 
> On Sunday 15 January 2012 10:46:02 Stephan Linz wrote:
> > +/* Data buffer for LL TEMAC Rx and Tx direction */
> > +static unsigned char rx_buffer[PKTSIZE_ALIGN]
> > __attribute((aligned(DMAALIGN)));
> > +static unsigned char tx_buffer[PKTSIZE_ALIGN]
> > __attribute((aligned(DMAALIGN)));
> 
> come code already declares PktBuf ... can't you use that ?

Hm, what do you mean exactly here?

These are the two DMA transfer buffers. I have no idea if there are
buffers in the upper layer (NET) and how I can use it for DMA transfers.
Therfore I create my own rx/tx buffers and copy data. That reduce the
performance a little bit, but it's OK. Furthermore I have to use DMA
safe buffers here (no cache, 32 byte alignment).

> 
> > +static struct ll_temac_info ll_temac_info[] = {
> 
> this looks like a struct that should get allocated on the fly based on 
> arguments given to the driver's registration func

OK, it wast a little bit RAM. We can optimize the code later. I want to
see more testing results on differnet Microblaze and PPC platforms.

> 
> > +int xilinx_ll_temac_initialize(bd_t *bis, struct ll_temac_info *devinf)
> > ...
> > +	dev = calloc(1, sizeof(*dev));
> > ...
> > +	/* Tell u-boot to get the addr from the env */
> > +	for (i = 0; i < 6; i++)
> > +		dev->enetaddr[i] = 0;
> 
> the memory is already zero-ed by the call to calloc, so this for loop is 
> useless (and if it wasn't, you'd still use memset())

Sure, we can remove this part in one of the next code optimization.


-- 
Best regards,
Stephan Linz
______________________________________________________________________________
MB-Ref: http://www.li-pro.de/xilinx_mb:mbref:start
OpenDCC: http://www.li-pro.net/opendcc.phtml
PC/M: http://www.li-pro.net/pcm.phtml
Sourceforge: http://sourceforge.net/users/slz
Gitorious: https://gitorious.org/~slz



More information about the U-Boot mailing list