Lines Matching defs:dma
23 #include <linux/dma-mapping.h>
45 dma_addr_t dma;
66 dma_addr_t dma;
120 static struct dma_page *pool_find_page(struct dma_pool *pool, dma_addr_t dma)
125 if (dma < page->dma)
127 if ((dma - page->dma) < pool->allocation)
133 static bool pool_block_err(struct dma_pool *pool, void *vaddr, dma_addr_t dma)
138 page = pool_find_page(pool, dma);
140 dev_err(pool->dev, "%s %s, %p/%pad (bad dma)\n",
141 __func__, pool->name, vaddr, &dma);
150 dev_err(pool->dev, "%s %s, dma %pad already free\n",
151 __func__, pool->name, &dma);
169 static bool pool_block_err(struct dma_pool *pool, void *vaddr, dma_addr_t dma)
193 dma_addr_t dma)
195 block->dma = dma;
202 * dma_pool_create - Creates a pool of consistent memory blocks, for dma.
221 * Return: a dma allocation pool with the requested characteristics, or
314 block->dma = page->dma + offset;
343 &page->dma, mem_flags);
353 * dma_pool_destroy - destroys a pool of dma memory blocks.
354 * @pool: dma pool that will be destroyed
385 page->vaddr, page->dma);
396 * @pool: dma pool that will produce the block
398 * @handle: pointer to dma address of block
401 * and reports its dma address through the handle.
432 *handle = block->dma;
442 * dma_pool_free - put block back into dma pool
443 * @pool: the dma pool holding the block
445 * @dma: dma address of block
450 void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t dma)
456 if (!pool_block_err(pool, vaddr, dma)) {
457 pool_block_push(pool, block, dma);
490 * Return: a managed dma allocation pool with the requested
514 * @pool: dma pool that will be destroyed