diff options
author | Steve French <sfrench@us.ibm.com> | 2008-03-01 13:29:55 -0500 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2008-03-01 13:29:55 -0500 |
commit | 0dbd888936a23514716b8d944775bc56f731363a (patch) | |
tree | a2c60cdc45bdcbed47680731fa8188bffe58c098 /arch/sparc64/kernel/iommu.c | |
parent | 0b442d2c28479332610c46e1a74e5638ab63a97d (diff) | |
parent | d395991c117d43bfca97101a931a41d062a93852 (diff) |
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/sparc64/kernel/iommu.c')
-rw-r--r-- | arch/sparc64/kernel/iommu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc64/kernel/iommu.c b/arch/sparc64/kernel/iommu.c index d3276ebcfb47..fbaab3497bfd 100644 --- a/arch/sparc64/kernel/iommu.c +++ b/arch/sparc64/kernel/iommu.c | |||
@@ -134,7 +134,8 @@ unsigned long iommu_range_alloc(struct device *dev, | |||
134 | else | 134 | else |
135 | boundary_size = ALIGN(1UL << 32, 1 << IO_PAGE_SHIFT); | 135 | boundary_size = ALIGN(1UL << 32, 1 << IO_PAGE_SHIFT); |
136 | 136 | ||
137 | n = iommu_area_alloc(arena->map, limit, start, npages, 0, | 137 | n = iommu_area_alloc(arena->map, limit, start, npages, |
138 | iommu->page_table_map_base >> IO_PAGE_SHIFT, | ||
138 | boundary_size >> IO_PAGE_SHIFT, 0); | 139 | boundary_size >> IO_PAGE_SHIFT, 0); |
139 | if (n == -1) { | 140 | if (n == -1) { |
140 | if (likely(pass < 1)) { | 141 | if (likely(pass < 1)) { |
@@ -200,12 +201,11 @@ int iommu_table_init(struct iommu *iommu, int tsbsize, | |||
200 | /* Allocate and initialize the dummy page which we | 201 | /* Allocate and initialize the dummy page which we |
201 | * set inactive IO PTEs to point to. | 202 | * set inactive IO PTEs to point to. |
202 | */ | 203 | */ |
203 | iommu->dummy_page = __get_free_pages(GFP_KERNEL, 0); | 204 | iommu->dummy_page = get_zeroed_page(GFP_KERNEL); |
204 | if (!iommu->dummy_page) { | 205 | if (!iommu->dummy_page) { |
205 | printk(KERN_ERR "IOMMU: Error, gfp(dummy_page) failed.\n"); | 206 | printk(KERN_ERR "IOMMU: Error, gfp(dummy_page) failed.\n"); |
206 | goto out_free_map; | 207 | goto out_free_map; |
207 | } | 208 | } |
208 | memset((void *)iommu->dummy_page, 0, PAGE_SIZE); | ||
209 | iommu->dummy_page_pa = (unsigned long) __pa(iommu->dummy_page); | 209 | iommu->dummy_page_pa = (unsigned long) __pa(iommu->dummy_page); |
210 | 210 | ||
211 | /* Now allocate and setup the IOMMU page table itself. */ | 211 | /* Now allocate and setup the IOMMU page table itself. */ |