diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-10-16 01:02:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-16 14:21:33 -0400 |
commit | 1477b8e5f13266bbf0389baafd39a90ff29c5f61 (patch) | |
tree | 5ad0348e01d783cc5613320d6a1504fc08dea239 /arch | |
parent | 56d936607408d71c4141b2ed501410b072f1e211 (diff) |
x86: convert GART driver to generic iommu_num_pages function
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Muli Ben-Yehuda <muli@il.ibm.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/pci-gart_64.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index 14f1b41348fd..e3f75bbcedea 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -231,7 +231,7 @@ nonforced_iommu(struct device *dev, unsigned long addr, size_t size) | |||
231 | static dma_addr_t dma_map_area(struct device *dev, dma_addr_t phys_mem, | 231 | static dma_addr_t dma_map_area(struct device *dev, dma_addr_t phys_mem, |
232 | size_t size, int dir, unsigned long align_mask) | 232 | size_t size, int dir, unsigned long align_mask) |
233 | { | 233 | { |
234 | unsigned long npages = iommu_nr_pages(phys_mem, size); | 234 | unsigned long npages = iommu_num_pages(phys_mem, size, PAGE_SIZE); |
235 | unsigned long iommu_page = alloc_iommu(dev, npages, align_mask); | 235 | unsigned long iommu_page = alloc_iommu(dev, npages, align_mask); |
236 | int i; | 236 | int i; |
237 | 237 | ||
@@ -285,7 +285,7 @@ static void gart_unmap_single(struct device *dev, dma_addr_t dma_addr, | |||
285 | return; | 285 | return; |
286 | 286 | ||
287 | iommu_page = (dma_addr - iommu_bus_base)>>PAGE_SHIFT; | 287 | iommu_page = (dma_addr - iommu_bus_base)>>PAGE_SHIFT; |
288 | npages = iommu_nr_pages(dma_addr, size); | 288 | npages = iommu_num_pages(dma_addr, size, PAGE_SIZE); |
289 | for (i = 0; i < npages; i++) { | 289 | for (i = 0; i < npages; i++) { |
290 | iommu_gatt_base[iommu_page + i] = gart_unmapped_entry; | 290 | iommu_gatt_base[iommu_page + i] = gart_unmapped_entry; |
291 | CLEAR_LEAK(iommu_page + i); | 291 | CLEAR_LEAK(iommu_page + i); |
@@ -368,7 +368,7 @@ static int __dma_map_cont(struct device *dev, struct scatterlist *start, | |||
368 | } | 368 | } |
369 | 369 | ||
370 | addr = phys_addr; | 370 | addr = phys_addr; |
371 | pages = iommu_nr_pages(s->offset, s->length); | 371 | pages = iommu_num_pages(s->offset, s->length, PAGE_SIZE); |
372 | while (pages--) { | 372 | while (pages--) { |
373 | iommu_gatt_base[iommu_page] = GPTE_ENCODE(addr); | 373 | iommu_gatt_base[iommu_page] = GPTE_ENCODE(addr); |
374 | SET_LEAK(iommu_page); | 374 | SET_LEAK(iommu_page); |
@@ -451,7 +451,7 @@ gart_map_sg(struct device *dev, struct scatterlist *sg, int nents, int dir) | |||
451 | 451 | ||
452 | seg_size += s->length; | 452 | seg_size += s->length; |
453 | need = nextneed; | 453 | need = nextneed; |
454 | pages += iommu_nr_pages(s->offset, s->length); | 454 | pages += iommu_num_pages(s->offset, s->length, PAGE_SIZE); |
455 | ps = s; | 455 | ps = s; |
456 | } | 456 | } |
457 | if (dma_map_cont(dev, start_sg, i - start, sgmap, pages, need) < 0) | 457 | if (dma_map_cont(dev, start_sg, i - start, sgmap, pages, need) < 0) |