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 | e3c449f526cebb8d287241c7e82faafd9709668b (patch) | |
tree | 6a41ed4676d2d91e657b39b35303986e5b179bc6 /arch/x86/kernel/amd_iommu.c | |
parent | 1477b8e5f13266bbf0389baafd39a90ff29c5f61 (diff) |
x86, AMD IOMMU: convert 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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86/kernel/amd_iommu.c')
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 10646acba9be..a8fd9ebdc8e2 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -295,7 +295,7 @@ static int iommu_flush_pages(struct amd_iommu *iommu, u16 domid, | |||
295 | u64 address, size_t size) | 295 | u64 address, size_t size) |
296 | { | 296 | { |
297 | int s = 0; | 297 | int s = 0; |
298 | unsigned pages = iommu_nr_pages(address, size); | 298 | unsigned pages = iommu_num_pages(address, size, PAGE_SIZE); |
299 | 299 | ||
300 | address &= PAGE_MASK; | 300 | address &= PAGE_MASK; |
301 | 301 | ||
@@ -679,8 +679,9 @@ static struct dma_ops_domain *dma_ops_domain_alloc(struct amd_iommu *iommu, | |||
679 | if (iommu->exclusion_start && | 679 | if (iommu->exclusion_start && |
680 | iommu->exclusion_start < dma_dom->aperture_size) { | 680 | iommu->exclusion_start < dma_dom->aperture_size) { |
681 | unsigned long startpage = iommu->exclusion_start >> PAGE_SHIFT; | 681 | unsigned long startpage = iommu->exclusion_start >> PAGE_SHIFT; |
682 | int pages = iommu_nr_pages(iommu->exclusion_start, | 682 | int pages = iommu_num_pages(iommu->exclusion_start, |
683 | iommu->exclusion_length); | 683 | iommu->exclusion_length, |
684 | PAGE_SIZE); | ||
684 | dma_ops_reserve_addresses(dma_dom, startpage, pages); | 685 | dma_ops_reserve_addresses(dma_dom, startpage, pages); |
685 | } | 686 | } |
686 | 687 | ||
@@ -935,7 +936,7 @@ static dma_addr_t __map_single(struct device *dev, | |||
935 | unsigned long align_mask = 0; | 936 | unsigned long align_mask = 0; |
936 | int i; | 937 | int i; |
937 | 938 | ||
938 | pages = iommu_nr_pages(paddr, size); | 939 | pages = iommu_num_pages(paddr, size, PAGE_SIZE); |
939 | paddr &= PAGE_MASK; | 940 | paddr &= PAGE_MASK; |
940 | 941 | ||
941 | if (align) | 942 | if (align) |
@@ -980,7 +981,7 @@ static void __unmap_single(struct amd_iommu *iommu, | |||
980 | if ((dma_addr == 0) || (dma_addr + size > dma_dom->aperture_size)) | 981 | if ((dma_addr == 0) || (dma_addr + size > dma_dom->aperture_size)) |
981 | return; | 982 | return; |
982 | 983 | ||
983 | pages = iommu_nr_pages(dma_addr, size); | 984 | pages = iommu_num_pages(dma_addr, size, PAGE_SIZE); |
984 | dma_addr &= PAGE_MASK; | 985 | dma_addr &= PAGE_MASK; |
985 | start = dma_addr; | 986 | start = dma_addr; |
986 | 987 | ||