Subversion Repositories Kolibri OS

Rev

Rev 6082 | 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
 
6102 serge 14
#include 
15
#include 
16
 
17
struct device;
18
 
19
struct dma_pool *dma_pool_create(const char *name, struct device *dev,
1616 serge 20
			size_t size, size_t align, size_t allocation);
21
 
22
void dma_pool_destroy(struct dma_pool *pool);
23
 
24
void *dma_pool_alloc(struct dma_pool *pool, gfp_t mem_flags,
25
		     dma_addr_t *handle);
26
 
6082 serge 27
static inline void *dma_pool_zalloc(struct dma_pool *pool, gfp_t mem_flags,
28
				    dma_addr_t *handle)
29
{
30
	return dma_pool_alloc(pool, mem_flags | __GFP_ZERO, handle);
31
}
32
 
1616 serge 33
void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t addr);
34
 
3031 serge 35
/*
36
 * Managed DMA pool
37
 */
38
struct dma_pool *dmam_pool_create(const char *name, struct device *dev,
39
				  size_t size, size_t align, size_t allocation);
40
void dmam_pool_destroy(struct dma_pool *pool);
1616 serge 41
 
42
#endif
43