Subversion Repositories Kolibri OS

Rev

Rev 3031 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1616 serge 1
/*
2
 * include/linux/dmapool.h
3
 *
4
 * Allocation pools for DMAable (coherent) memory.
5
 *
6082 serge 6
 * This file is licensed under  the terms of the GNU General Public
7
 * License version 2. This program is licensed "as is" without any
1616 serge 8
 * warranty of any kind, whether express or implied.
9
 */
10
 
11
#ifndef LINUX_DMAPOOL_H
12
#define	LINUX_DMAPOOL_H
13
 
14
struct dma_pool *dma_pool_create(const char *name, struct device *dev,
15
			size_t size, size_t align, size_t allocation);
16
 
17
void dma_pool_destroy(struct dma_pool *pool);
18
 
19
void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags,
20
		     dma_addr_t *handle);
21
 
6082 serge 22
static inline void *dma_pool_zalloc(struct dma_pool *pool, gfp_t mem_flags,
23
				    dma_addr_t *handle)
24
{
25
	return dma_pool_alloc(pool, mem_flags | __GFP_ZERO, handle);
26
}
27
 
1616 serge 28
void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t addr);
29
 
3031 serge 30
/*
31
 * Managed DMA pool
32
 */
33
struct dma_pool *dmam_pool_create(const char *name, struct device *dev,
34
				  size_t size, size_t align, size_t allocation);
35
void dmam_pool_destroy(struct dma_pool *pool);
1616 serge 36
 
37
#endif
38