[PATCH 6/6] drivers/net: add designware driver

Sascha Hauer s.hauer at pengutronix.de
Wed Jun 20 04:41:13 EDT 2012


On Wed, Jun 20, 2012 at 10:11:58AM +0200, Johannes Stezenbach wrote:
> Hi Sascha,
> 
> On Wed, Jun 20, 2012 at 09:13:01AM +0200, Sascha Hauer wrote:
> > On Mon, Jun 18, 2012 at 04:48:00PM +0200, Johannes Stezenbach wrote:
> > > Straight forward port of Synopsys Designware ethernet
> > > driver from u-boot v2012.04.01.
> ...
> > > +config DRIVER_NET_DESIGNWARE
> > > +	bool "Designware Universal MAC ethernet driver"
> > > +	select MIIDEV
> > > +	depends on HAS_DESIGNWARE_ETH
> > > +	help
> > > +	  This option enables support for the Synopsys
> > > +	  Designware Core Univesal MAC 10M/100M/1G ethernet IP.
> > 
> > This driver uses DMA, but it has no cache flush/invalidation. At least
> > on ARM this means that it won't work with MMU enabled, so we should
> > either add the following to Kconfig:
> > 
> > 	depends on !ARM || !MMU
> > 
> > Or add the dma_* functions. I added hints where to add these functions
> > inline, but I can't test this.
> 
> Well, the driver was tested on a platform with ARM926EJ-S CPU
> and works -- because it uses dma_alloc_coherent().  That
> might not be optimal wrt performance, but it matches what
> the u-boot driver is doing.  Do you want me to convert it
> to use cachable memory and dma flush/inv?

Ah, my bad. I thought you only allocated the descriptor ring with
dma_alloc_coherent, but indeed you also used it for allocating the
buffers. It's fine then.

> 
> This depends on IP core configuration.  (The major difference of the
> alternate descriptor is that it has a larger length field
> with can support jumbo packets.)
> 
> I wasn't sure about Kconfig because of the arch/arm/board/*/config.h.
> To me it looked like config.h is a good place for this?

I prefer to use Kconfig whenever possible. Using config.h should be
avoided.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list