]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[SPARC64]: Fix SBUS IOMMU allocation code.
authorDavid S. Miller <davem@davemloft.net>
Thu, 19 Apr 2007 23:35:52 +0000 (01:35 +0200)
committerAdrian Bunk <bunk@stusta.de>
Thu, 19 Apr 2007 23:35:52 +0000 (01:35 +0200)
commit49db80fe66d33be0dacdeaf29ceec2702d865e77
tree656158aaeeca23ee131da94889b1995618f6e5a4
parentad65d701caf0937add48e1c54263850a6a382d27
[SPARC64]: Fix SBUS IOMMU allocation code.

There are several IOMMU allocator bugs.  Instead of trying to fix this
overly complicated code, just mirror the PCI IOMMU arena allocator
which is very stable and well stress tested.

I tried to make the code as identical as possible so we can switch
sun4u PCI and SBUS over to a common piece of IOMMU code.  All that
will be need are two callbacks, one to do a full IOMMU flush and one
to do a streaming buffer flush.

This patch gets rid of a lot of hangs and mysterious crashes on SBUS
sparc64 systems, at least for me.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
arch/sparc64/kernel/sbus.c