summaryrefslogtreecommitdiff
path: root/bmm_lib_priv.h
blob: 42d4e64777143c6826168188fac9eb2872504b64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
 *  bmm_lib_priv.h
 *
 *  Buffer Management Module
 *
 *  User level BMM Defines/Globals/Functions
 *
 *  Li Li (lea.li@marvell.com)

 *(C) Copyright 2007 Marvell International Ltd.
 * All Rights Reserved
 */

#ifndef __BMM_LIB_PRIV_H__
#define __BMM_LIB_PRIV_H__

#define BMM_MINOR		(94)

typedef struct {
	unsigned long input;		/* the starting address of the block of memory */
	unsigned long output;		/* the starting address of the block of memory */
	unsigned long length;		/* the length of the block of memory */
	unsigned long arg;		/* the arg of cmd */
} ioctl_arg_t;

#define BMEM_IOCTL_MAGIC 'G'
/* ioctl commands */
#define BMM_MALLOC		_IOWR(BMEM_IOCTL_MAGIC, 0, ioctl_arg_t)
#define BMM_FREE		_IOWR(BMEM_IOCTL_MAGIC, 1, ioctl_arg_t)
#define BMM_GET_VIRT_ADDR	_IOWR(BMEM_IOCTL_MAGIC, 2, ioctl_arg_t)
#define BMM_GET_PHYS_ADDR	_IOWR(BMEM_IOCTL_MAGIC, 3, ioctl_arg_t)
#define BMM_GET_MEM_ATTR	_IOWR(BMEM_IOCTL_MAGIC, 4, ioctl_arg_t)
#define BMM_SET_MEM_ATTR	_IOWR(BMEM_IOCTL_MAGIC, 5, ioctl_arg_t)
#define BMM_GET_MEM_SIZE	_IOWR(BMEM_IOCTL_MAGIC, 6, ioctl_arg_t)
#define BMM_GET_TOTAL_SPACE	_IOWR(BMEM_IOCTL_MAGIC, 7, ioctl_arg_t)
#define BMM_GET_FREE_SPACE	_IOWR(BMEM_IOCTL_MAGIC, 8, ioctl_arg_t)
#define BMM_FLUSH_CACHE		_IOWR(BMEM_IOCTL_MAGIC, 9, ioctl_arg_t)
#define BMM_CONSISTENT_SYNC	_IOWR(BMEM_IOCTL_MAGIC, 12, ioctl_arg_t)
#define BMM_DUMP		_IOWR(BMEM_IOCTL_MAGIC, 13, ioctl_arg_t)
#define BMM_GET_ALLOCATED_SPACE	_IOWR(BMEM_IOCTL_MAGIC, 14, ioctl_arg_t)
#define BMM_GET_KERN_PHYS_ADDR	_IOWR(BMEM_IOCTL_MAGIC, 15, ioctl_arg_t)
#define BMM_SYNC_USER		_IOWR(BMEM_IOCTL_MAGIC, 16, ioctl_arg_t)
#define BMM_MALLOC_ALIGNED	_IOWR(BMEM_IOCTL_MAGIC, 17, ioctl_arg_t)
#define BMM_API_VERSION		_IOWR(BMEM_IOCTL_MAGIC, 18, ioctl_arg_t)
#define BMM_GET_DMABUF_FD	_IOWR(BMEM_IOCTL_MAGIC, 19, ioctl_arg_t)
#define BMM_FREE_PHYS		_IOWR(BMEM_IOCTL_MAGIC, 20, ioctl_arg_t)
#define BMM_GET_PHYS_DMABUF_FD	_IOWR(BMEM_IOCTL_MAGIC, 21, ioctl_arg_t)

#define BMM_DEVICE_FILE	"/dev/bmm"

#endif /* __BMM_LIB_PRIV_H__ */