Revert "powerpc/pseries/iommu: remove default window before attempting DDW manipulation"
authorNishanth Aravamudan <nacc@linux.vnet.ibm.com>
Fri, 10 Jan 2014 23:09:38 +0000 (15:09 -0800)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 15 Jan 2014 02:46:44 +0000 (13:46 +1100)
commitae69e1eddc646ff8dc1d5439005d1f82c33f9ae7
tree9cf2ab2bc02f9fb432bd825cd65f26a5b5d2c3d8
parentc141611fb1ee2cfc374cf9be5327e97f361c4bed
Revert "powerpc/pseries/iommu: remove default window before attempting DDW manipulation"

Ben rightfully pointed out that there is a race in the "newer" DDW code.
Presuming we are running on recent enough firmware that supports the
"reset" DDW manipulation call, we currently always remove the base
32-bit DMA window in order to maximize the resources for Phyp when
creating the 64-bit window. However, this can be problematic for the
case where multiple functions are in the same PE (partitionable
endpoint), where some funtions might be 32-bit DMA only. All of a
sudden, the only functional DMA window for such functions is gone. We
will have serious errors in such situations. The best solution is simply
to revert the extension to the DDW code where we ever remove the base
DMA window.

This reverts commit 25ebc45b93452d0bc60271f178237123c4b26808.

Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/pseries/iommu.c