]> 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)
commita79517a350c397e7a8a00acb643668716f3d702b
tree9cf2ab2bc02f9fb432bd825cd65f26a5b5d2c3d8
parentf787867cf129b4eccd667f3ce2eb44b4736b4ca4
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 2a07d813cdd8625c3c7a8f97f300d7f692b1d9b0.

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