x86: replace is_buffer_dma_capable() with dma_capable
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Fri, 10 Jul 2009 01:04:55 +0000 (10:04 +0900)
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tue, 28 Jul 2009 05:19:19 +0000 (14:19 +0900)
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
arch/x86/kernel/pci-dma.c
arch/x86/kernel/pci-gart_64.c
arch/x86/kernel/pci-nommu.c

index 1a041bc..3c945c0 100644 (file)
@@ -147,7 +147,7 @@ again:
                return NULL;
 
        addr = page_to_phys(page);
-       if (!is_buffer_dma_capable(dma_mask, addr, size)) {
+       if (addr + size > dma_mask) {
                __free_pages(page, get_order(size));
 
                if (dma_mask < DMA_BIT_MASK(32) && !(flag & GFP_DMA)) {
index d2e56b8..98a827e 100644 (file)
@@ -190,14 +190,13 @@ static void iommu_full(struct device *dev, size_t size, int dir)
 static inline int
 need_iommu(struct device *dev, unsigned long addr, size_t size)
 {
-       return force_iommu ||
-               !is_buffer_dma_capable(*dev->dma_mask, addr, size);
+       return force_iommu || !dma_capable(dev, addr, size);
 }
 
 static inline int
 nonforced_iommu(struct device *dev, unsigned long addr, size_t size)
 {
-       return !is_buffer_dma_capable(*dev->dma_mask, addr, size);
+       return !dma_capable(dev, addr, size);
 }
 
 /* Map a single continuous physical area into the IOMMU.
index 71d412a..c0a4222 100644 (file)
@@ -14,7 +14,7 @@
 static int
 check_addr(char *name, struct device *hwdev, dma_addr_t bus, size_t size)
 {
-       if (hwdev && !is_buffer_dma_capable(*hwdev->dma_mask, bus, size)) {
+       if (hwdev && !dma_capable(hwdev, bus, size)) {
                if (*hwdev->dma_mask >= DMA_BIT_MASK(32))
                        printk(KERN_ERR
                            "nommu_%s: overflow %Lx+%zu of device mask %Lx\n",