[parisc-linux-cvs] Re: 2.6.10-rc1-pa10 fix mercury cfg accessor
functions.
Grant Grundler
grundler at parisc-linux.org
Tue Nov 2 22:43:30 MST 2004
On Tue, Nov 02, 2004 at 05:57:50PM -0700, Grant Grundler wrote:
> Log message:
> 2.6.10-rc1-pa10 fix mercury accessor functions
> I changed course and implemented mercury specific PCI CFG accessor functions.
> PAT PDC PCI CFG accessor functions are too slow when run directly from ROM.
> Each PCI CFG write was taking ~4ms. Direct access is ~4us.
> PDC could be much faster if copied to host ram - burning up to
> 4MB RAM in the process. Not worth it (yet).
Originally, I asked Naresh Kumar Inna to use PAT PDC so that I could
ignore Mercury. It was a great idea but I didn't consider the risk of slow
performance. PAT PDC on A500 was taking (IIRC) ~40ms per call.
It worked out to around 70 seconds for tg3 driver to initialize
EACH card (~1600 PCI cfg writes to upload firmware image).
> Patches:
> http://cvs.parisc-linux.org/linux-2.6/Makefile.diff?cvsroot=&r1=1.291&r2=1.292
> http://cvs.parisc-linux.org/linux-2.6/arch/parisc/kernel/pci.c.diff?cvsroot=&r1=1.15&r2=1.16
Turn printk into a useful mesg.
> http://cvs.parisc-linux.org/linux-2.6/drivers/parisc/iosapic.c.diff?cvsroot=&r1=1.9&r2=1.10
Improve DEBUG output
> http://cvs.parisc-linux.org/linux-2.6/drivers/parisc/lba_pci.c.diff?cvsroot=&r1=1.17&r2=1.18
Main changes to mercury_cfg_rd/wr functions.
> http://cvs.parisc-linux.org/linux-2.6/include/asm-parisc/pci.h.diff?cvsroot=&r1=1.11&r2=1.12
add __iomem to base_addr field. Prevent folks from directly dereferencing it.
grant
More information about the parisc-linux-cvs
mailing list