]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Fix sparc64 SBUS IOMMU allocator
authorDavid Miller <davem@davemloft.net>
Tue, 17 Apr 2007 21:37:25 +0000 (14:37 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 2 May 2007 00:05:56 +0000 (17:05 -0700)
commit169ed0ec5ee1f3733d5b23cd0d2ddadc697472df
tree29ed35a39c66a0d87012cc499aca18fc4717e0e5
parent64f586d81ecc913a557055d4804c987f8c766888
Fix sparc64 SBUS IOMMU allocator

[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: Greg Kroah-Hartman <gregkh@suse.de>
arch/sparc64/kernel/sbus.c