diff options
Diffstat (limited to 'arch/sparc64/kernel/iommu_common.h')
-rw-r--r-- | arch/sparc64/kernel/iommu_common.h | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/arch/sparc64/kernel/iommu_common.h b/arch/sparc64/kernel/iommu_common.h index 202d8ae2a67e..591f5879039c 100644 --- a/arch/sparc64/kernel/iommu_common.h +++ b/arch/sparc64/kernel/iommu_common.h | |||
@@ -35,17 +35,6 @@ | |||
35 | 35 | ||
36 | #define SG_ENT_PHYS_ADDRESS(SG) (__pa(sg_virt((SG)))) | 36 | #define SG_ENT_PHYS_ADDRESS(SG) (__pa(sg_virt((SG)))) |
37 | 37 | ||
38 | static inline unsigned long iommu_nr_pages(unsigned long vaddr, | ||
39 | unsigned long slen) | ||
40 | { | ||
41 | unsigned long npages; | ||
42 | |||
43 | npages = IO_PAGE_ALIGN(vaddr + slen) - (vaddr & IO_PAGE_MASK); | ||
44 | npages >>= IO_PAGE_SHIFT; | ||
45 | |||
46 | return npages; | ||
47 | } | ||
48 | |||
49 | static inline int is_span_boundary(unsigned long entry, | 38 | static inline int is_span_boundary(unsigned long entry, |
50 | unsigned long shift, | 39 | unsigned long shift, |
51 | unsigned long boundary_size, | 40 | unsigned long boundary_size, |
@@ -53,7 +42,8 @@ static inline int is_span_boundary(unsigned long entry, | |||
53 | struct scatterlist *sg) | 42 | struct scatterlist *sg) |
54 | { | 43 | { |
55 | unsigned long paddr = SG_ENT_PHYS_ADDRESS(outs); | 44 | unsigned long paddr = SG_ENT_PHYS_ADDRESS(outs); |
56 | int nr = iommu_nr_pages(paddr, outs->dma_length + sg->length); | 45 | int nr = iommu_num_pages(paddr, outs->dma_length + sg->length, |
46 | IO_PAGE_SIZE); | ||
57 | 47 | ||
58 | return iommu_is_span_boundary(entry, nr, shift, boundary_size); | 48 | return iommu_is_span_boundary(entry, nr, shift, boundary_size); |
59 | } | 49 | } |