[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