[SPARC64]: Fix SBUS IOMMU allocation code.
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 12 Apr 2007 04:38:45 +0000 (21:38 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 12 Apr 2007 06:56:10 +0000 (23:56 -0700)
commit2f3a2efd85b698e51e90f06a37d85066725fb4c4
tree64306b683060c7739de68319fd393541095e1ec1
parent80584ff3b99c36ead7e130e453b3a48b18072d18
[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>
arch/sparc64/kernel/sbus.c