diff options
author | Paul Mackerras <paulus@samba.org> | 2005-12-05 14:19:10 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-12-05 14:19:10 +1100 |
commit | 6fbb618f5da0424adcba5f666035e4772a8df526 (patch) | |
tree | 599edd9f3bce29e3153b086bec87862e78bb889d /arch/powerpc/platforms/pseries/iommu.c | |
parent | e8a167accb47de528d2ffddc0f13f8e84eaa71de (diff) | |
download | blackbird-op-linux-6fbb618f5da0424adcba5f666035e4772a8df526.tar.gz blackbird-op-linux-6fbb618f5da0424adcba5f666035e4772a8df526.zip |
powerpc/pseries: Optimize IOMMU setup
The previous commit will use the page-at-a-time hypervisor call for
setting up IOMMU entries when we are using 64k pages and setting up
one 64k page, even though that means 16 calls to the hypervisor, since
the hypervisor still works on 4k pages. This optimizes this case by
using the multi-page IOMMU setup hypervisor call instead.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/iommu.c')
-rw-r--r-- | arch/powerpc/platforms/pseries/iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c index fa1edbdcf88c..2043659ea7b1 100644 --- a/arch/powerpc/platforms/pseries/iommu.c +++ b/arch/powerpc/platforms/pseries/iommu.c @@ -146,7 +146,7 @@ static void tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, union tce_entry tce, *tcep; long l, limit; - if (npages == 1) + if (TCE_PAGE_FACTOR == 0 && npages == 1) return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, direction); |