]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commite2ae63b54c7068ce94a80ee0627154f23aed491f
tree9cf2ab2bc02f9fb432bd825cd65f26a5b5d2c3d8
parent64f74e325ba2b25a6d6262f99bc43963efe82ff3
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 15c67277341eb2e8ed3ec5af4507d6165ab0ce4b.

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