aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-12-04 22:19:10 -0500
committerPaul Mackerras <paulus@samba.org>2005-12-04 22:19:10 -0500
commit6fbb618f5da0424adcba5f666035e4772a8df526 (patch)
tree599edd9f3bce29e3153b086bec87862e78bb889d
parente8a167accb47de528d2ffddc0f13f8e84eaa71de (diff)
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>
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c2
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,
146 union tce_entry tce, *tcep; 146 union tce_entry tce, *tcep;
147 long l, limit; 147 long l, limit;
148 148
149 if (npages == 1) 149 if (TCE_PAGE_FACTOR == 0 && npages == 1)
150 return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr, 150 return tce_build_pSeriesLP(tbl, tcenum, npages, uaddr,
151 direction); 151 direction);
152 152