Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 172396
b: refs/heads/master
c: 04da569
h: refs/heads/master
v: v3
  • Loading branch information
Russell King committed Nov 24, 2009
1 parent 5b0a732 commit 4bdddfc
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3e82d012e9281a0b6388ff2356e8396b9d781e1c
refs/heads/master: 04da56943b416dd9fe7058abf8d5b9153164b3e9
25 changes: 9 additions & 16 deletions trunk/arch/arm/mm/dma-mapping.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,24 +212,17 @@ static void *
__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, gfp_t gfp,
pgprot_t prot)
{
void *virt;
u64 mask = get_coherent_dma_mask(dev);

if (!mask)
goto error;
struct page *page;

if (mask < 0xffffffffULL)
gfp |= GFP_DMA;
virt = kmalloc(size, gfp);
if (!virt)
goto error;
*handle = ~0;
size = PAGE_ALIGN(size);

*handle = virt_to_dma(dev, virt);
return virt;
page = __dma_alloc_buffer(dev, size, gfp);
if (!page)
return NULL;

error:
*handle = ~0;
return NULL;
*handle = page_to_dma(dev, page);
return page_address(page);
}
#endif /* CONFIG_MMU */

Expand Down Expand Up @@ -406,7 +399,7 @@ void dma_free_coherent(struct device *dev, size_t size, void *cpu_addr, dma_addr
{
if (dma_release_from_coherent(dev, get_order(size), cpu_addr))
return;
kfree(cpu_addr);
__dma_free_buffer(dma_to_page(dev, handle), PAGE_ALIGN(size));
}
#endif /* CONFIG_MMU */
EXPORT_SYMBOL(dma_free_coherent);
Expand Down

0 comments on commit 4bdddfc

Please sign in to comment.