powerpc/dma-iommu: Fix IOMMU window check
authorAaro Koskinen <aaro.koskinen@iki.fi>
Sat, 18 Aug 2012 07:34:15 +0000 (07:34 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 24 Aug 2012 10:26:07 +0000 (20:26 +1000)
commit4c374af5fdee4bc6b4f5ea96c1a0f0ad7d3566be
tree1f5225ba422b576ca452d647fbe42d02e8481a63
parentf0f0c9ac2051e5da4afa1f3f908ace197a4de80e
powerpc/dma-iommu: Fix IOMMU window check

Checking for device mask to cover the whole IOMMU table is too strict.
IOMMU allocators should handle mask constraint properly for each
allocation.

The patch enables to use old AirPort Extreme cards on PowerMacs with
more than 1GB of memory; without the patch the driver init fails with:

  b43-pci-bridge 0001:01:01.0: Warning: IOMMU window too big for device mask
  b43-pci-bridge 0001:01:01.0: mask: 0x3fffffff, table end: 0x80000000
  b43-phy0 ERROR: The machine/kernel does not support the required 30-bit DMA mask

Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/dma-iommu.c