• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _GOOGLE_VP9_H_
2 #define _GOOGLE_VP9_H_
3 
4 enum IOCTL_CMD {
5 	VP9_IOCTL_UNKNOWN = 0x100,
6 	VP9_IOCTL_GET_ENV_INFO,
7 	VP9_IOCTL_WAIT_INTERRUPT,
8 	VP9_IOCTL_RESET,
9 	VP9_IOCTL_SET_FREQ,
10 	VP9_IOCTL_SET_HIGH_PERF_MSG,
11 
12 	VP9_IOCTL_ENGINE_REQ,
13 	VP9_IOCTL_ENGINE_REL,
14 
15 	/*for iommu*/
16 	IOCTL_GET_IOMMU_ADDR,
17 	IOCTL_FREE_IOMMU_ADDR,
18 };
19 
20 struct vp9_env_information {
21 	unsigned int phymem_start;
22 	int  phymem_total_size;
23 	unsigned long  address_macc;
24 };
25 
26 struct __vp9_task {
27 	int task_prio;
28 	int ID;
29 	unsigned long timeout;
30 	unsigned int frametime;
31 	unsigned int block_mode;
32 };
33 
34 struct vp9_engine_task {
35 	struct __vp9_task t;
36 	struct list_head list;
37 	struct task_struct *task_handle;
38 	unsigned int status;
39 	unsigned int running;
40 	unsigned int is_first_task;
41 };
42 
43 struct vp9_regop {
44 	unsigned long addr;
45 	unsigned int value;
46 };
47 
48 struct vp9_env_information_compat {
49 	unsigned int phymem_start;
50 	int  phymem_total_size;
51 	u32  address_macc;
52 };
53 
54 struct vp9_regop_compat {
55 	u32 addr;
56 	unsigned int value;
57 };
58 
59 /*--------------------------------------------------------------*/
60 
61 MODULE_AUTHOR("jilinglin");
62 MODULE_DESCRIPTION("User mode GOOGLE VP9/AV1 device interface");
63 MODULE_LICENSE("GPL");
64 MODULE_VERSION(DRV_VERSION);
65 MODULE_ALIAS("platform:cedarx-sunxi");
66 
67 #endif
68