diff options
author | 2021-11-09 10:56:41 -0800 | |
---|---|---|
committer | 2021-11-09 10:56:41 -0800 | |
commit | 372594985c786b40108a5201ca3192223d6c0c40 (patch) | |
tree | 86ec652db339a5fa58b4b2cee3d85c2b75a22bef /kernel/dma | |
parent | Merge tag 'ovl-update-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff) | |
parent | dma-mapping: use 'bitmap_zalloc()' when applicable (diff) | |
download | linux-372594985c786b40108a5201ca3192223d6c0c40.tar.gz linux-372594985c786b40108a5201ca3192223d6c0c40.tar.bz2 linux-372594985c786b40108a5201ca3192223d6c0c40.zip |
Merge tag 'dma-mapping-5.16' of git://git.infradead.org/users/hch/dma-mapping
Pull dma-mapping updates from Christoph Hellwig:
"Just a small set of changes this time. The request dma_direct_alloc
cleanups are still under review and haven't made the cut.
Summary:
- convert sparc32 to the generic dma-direct code
- use bitmap_zalloc (Christophe JAILLET)"
* tag 'dma-mapping-5.16' of git://git.infradead.org/users/hch/dma-mapping:
dma-mapping: use 'bitmap_zalloc()' when applicable
sparc32: use DMA_DIRECT_REMAP
sparc32: remove dma_make_coherent
sparc32: remove the call to dma_make_coherent in arch_dma_free
Diffstat (limited to 'kernel/dma')
-rw-r--r-- | kernel/dma/coherent.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/dma/coherent.c b/kernel/dma/coherent.c index 25fc85a7aebe..375fb3c9538d 100644 --- a/kernel/dma/coherent.c +++ b/kernel/dma/coherent.c @@ -40,7 +40,6 @@ static struct dma_coherent_mem *dma_init_coherent_memory(phys_addr_t phys_addr, { struct dma_coherent_mem *dma_mem; int pages = size >> PAGE_SHIFT; - int bitmap_size = BITS_TO_LONGS(pages) * sizeof(long); void *mem_base; if (!size) @@ -53,7 +52,7 @@ static struct dma_coherent_mem *dma_init_coherent_memory(phys_addr_t phys_addr, dma_mem = kzalloc(sizeof(struct dma_coherent_mem), GFP_KERNEL); if (!dma_mem) goto out_unmap_membase; - dma_mem->bitmap = kzalloc(bitmap_size, GFP_KERNEL); + dma_mem->bitmap = bitmap_zalloc(pages, GFP_KERNEL); if (!dma_mem->bitmap) goto out_free_dma_mem; @@ -81,7 +80,7 @@ static void dma_release_coherent_memory(struct dma_coherent_mem *mem) return; memunmap(mem->virt_base); - kfree(mem->bitmap); + bitmap_free(mem->bitmap); kfree(mem); } |