alpha: convert IOMMU to use ALIGN()
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tue, 4 Mar 2008 22:28:54 +0000 (14:28 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 5 Mar 2008 00:35:13 +0000 (16:35 -0800)
This patch is preparation for modifications to fix the IOMMU segment boundary
problem.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/alpha/kernel/pci_iommu.c

index 26d3789dfdd0420bc4e7ce496995138b1decda14..bbf9990cd2380a6cd9d810986adf944135abf411 100644 (file)
@@ -136,11 +136,11 @@ iommu_arena_find_pages(struct pci_iommu_arena *arena, long n, long mask)
        /* Search forward for the first mask-aligned sequence of N free ptes */
        ptes = arena->ptes;
        nent = arena->size >> PAGE_SHIFT;
-       p = (arena->next_entry + mask) & ~mask;
+       p = ALIGN(arena->next_entry, mask + 1);
        i = 0;
        while (i < n && p+i < nent) {
                if (ptes[p+i])
-                       p = (p + i + 1 + mask) & ~mask, i = 0;
+                       p = ALIGN(p + i + 1, mask + 1), i = 0;
                else
                        i = i + 1;
        }
@@ -153,7 +153,7 @@ iommu_arena_find_pages(struct pci_iommu_arena *arena, long n, long mask)
                p = 0, i = 0;
                while (i < n && p+i < nent) {
                        if (ptes[p+i])
-                               p = (p + i + 1 + mask) & ~mask, i = 0;
+                               p = ALIGN(p + i + 1, mask + 1), i = 0;
                        else
                                i = i + 1;
                }