x86: replace is_buffer_dma_capable() with dma_capable

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
FUJITA Tomonori 2009-07-10 10:04:55 +09:00
parent 99becaca86
commit a4c2baa6e1
3 changed files with 4 additions and 5 deletions

View File

@ -147,7 +147,7 @@ void *dma_generic_alloc_coherent(struct device *dev, size_t size,
return NULL; return NULL;
addr = page_to_phys(page); 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)); __free_pages(page, get_order(size));
if (dma_mask < DMA_BIT_MASK(32) && !(flag & GFP_DMA)) { if (dma_mask < DMA_BIT_MASK(32) && !(flag & GFP_DMA)) {

View File

@ -190,14 +190,13 @@ static void iommu_full(struct device *dev, size_t size, int dir)
static inline int static inline int
need_iommu(struct device *dev, unsigned long addr, size_t size) need_iommu(struct device *dev, unsigned long addr, size_t size)
{ {
return force_iommu || return force_iommu || !dma_capable(dev, addr, size);
!is_buffer_dma_capable(*dev->dma_mask, addr, size);
} }
static inline int static inline int
nonforced_iommu(struct device *dev, unsigned long addr, size_t size) 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. /* Map a single continuous physical area into the IOMMU.

View File

@ -14,7 +14,7 @@
static int static int
check_addr(char *name, struct device *hwdev, dma_addr_t bus, size_t size) 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)) if (*hwdev->dma_mask >= DMA_BIT_MASK(32))
printk(KERN_ERR printk(KERN_ERR
"nommu_%s: overflow %Lx+%zu of device mask %Lx\n", "nommu_%s: overflow %Lx+%zu of device mask %Lx\n",