From: Nishanth Aravamudan Date: Fri, 18 Jan 2013 09:17:36 +0000 (+0000) Subject: pseries/iommu: Ensure TCEs are cleared with non-huge DDW X-Git-Tag: v3.9-rc1~100^2~33 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=71cf1def1ad8384d5fa008f96de94b36668e5460;p=pandora-kernel.git pseries/iommu: Ensure TCEs are cleared with non-huge DDW There are now two kinds of DMA windows that might be presented by PowerVM DDW support -- huge windows (that can map all of system memory regardless of the LPAR configuration) and non-huge windows (which can't). They are implemented slightly differently in PowerVM, and thus have different characteristics. The most obvious is that slot isolate doesn't clear the TCEs/window for us with non-huge windows. Thus, when a DLPAR operation occurs on a slot using a non-huge window, TCEs are still present (the notifier chain doesn't currently remove them explicitly) and the DLPAR fails. Fix this by calling remove_ddw() first, which will unmap the DDW TCEs. Note: a corresponding change to drmgr is needed to actually successfully DLPAR, such that the device-tree update (which causes the notifier chain to fire) occurs before slot isolate. Signed-off-by: Nishanth Aravamudan Signed-off-by: Benjamin Herrenschmidt --- Reading git-diff-tree failed