linux-2.3 grundler

Grant Grundler grundler@puffin.external.hp.com
Sat, 5 Aug 2000 00:09:25 -0600


CVSROOT:	/home/cvs/parisc
Module name:	linux-2.3
Changes by:	grundler	00/08/05 00:09:25

Modified files:
	arch/parisc    : config.in defconfig 
	arch/parisc/kernel: Makefile 
	drivers/gsc    : gsc.c 
Added files:
	arch/parisc/kernel: ccio-dma.c ccio-rm-dma.c 

Log message:
Add two versions of U2/Uturn I/O MMU driver : ccio-dma and ccio-rm-dma.

ccio-dma is intended
a) to work on all platforms w/U2 or Uturn (but doesn't yet.)
(I think it's very close to working but I have to get away from it
for a while and get back to PCI support issues)
b) once it is working, provide better DMA performance/bus utilization.
c) to only support 1 IOA.
(Supporting more than one IOA requires tree structure for PA I/O devices.)
d) allow someone else to play with it and maybe see what's wrong.

ccio-rm-dma:
a) only works under PCX-W (ie C360) platforms (not under PCX-U - C180/200/240)
b) is borrowed from prumpf's linux-parisc
c) provides better CPU utilization since it's not really doing anything.
(Mostly function call overhead)
d) supports any/all IOAs under UTurn since it doesn't need to know
anything about the heirarchy of the I/O subsystem.

The "switch" is in the parisc/kernel/Makefile since I was too lazy
to figure out a clean way to pick the "right" one. I was thinking
a runtime check might be the right way but it isn't. It also depends
on load characteristics which aren't visible to the CPU (ie type of
DMA transactions - connected or split).