Subject: Re: Marvell MV6436xx ethernet driver patch

From: Sven Luther <[email-masked]>
Date: Wed, 31 Aug 2005 18:33:13 +0200

On Wed, Aug 31, 2005 at 09:04:17AM -0700, Mark A. Greer wrote:
> On Wed, Aug 31, 2005 at 07:55:49AM +0100, Nicolas DET wrote:
> > > This is a good idea.  I suspect that most of the gain is from
> > > turning off snooping and flushing/invalidating the cache explicitly.
> > > Implementation-wise, I'd rather we not manipulate the MV643XX_ETH_BAR_?
> > > registers directly in the driver.  Today that is done in platform
> > > setup code.  This has promise but needs to be reworked.
> > 
> > Yeah, the point was to have no snooping for this part of the chip.
> > The descriptors in SRAM, and the data in DDR. This give a serious boost.
> > 
> > I noticed MV643xx memory performances are really higher when turning
> > off snoop (not only for ethernet).
> > 
> > Well, I confess manipulating such thing here, is not totaly smart.
> > However I don't really know where to put them.
> > Maybe, somewhere in arch/ppc ?
> > 
> > Because, at some pooint the driver will need to have this modified in order
> > to reall work correctly.
> > 
> > For example, if you use a module with that option (it will disable
> > snooping) and then 'rmmod & modprobe' a new module without it will not work
> > (no snooping as the new module expect!).
> > 
> > Conclusion: yes, touching ETH_BAR isn't really well here, but where could
> > we move it ?
> 
> The enet->mem BARs are configured in
> arch/ppc/syslib/mv64xc60.c:mv64360_config_io2mem_windows().

Which is not used in the pegasos code path, as we are chrp though.

Friendly,

Sven Luther