1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __MSM_VIDC_PRIVATE_H__
20 #define __MSM_VIDC_PRIVATE_H__
21 #include <linux/videodev2.h>
22 #define VIDIOC_VIDEO_CMD _IOWR('V', BASE_VIDIOC_PRIVATE_VIDEO, struct msm_vidc_arg)
23 #define MSM_VIDC_CMD_START 0x10000000
24 #define MSM_CVP_START (MSM_VIDC_CMD_START + 0x1000)
25 #define MSM_CVP_GET_SESSION_INFO (MSM_CVP_START + 1)
26 #define MSM_CVP_REQUEST_POWER (MSM_CVP_START + 2)
27 #define MSM_CVP_REGISTER_BUFFER (MSM_CVP_START + 3)
28 #define MSM_CVP_UNREGISTER_BUFFER (MSM_CVP_START + 4)
29 #define MSM_CVP_FLAG_UNSECURE 0x00000000
30 #define MSM_CVP_FLAG_SECURE 0x00000001
31 #define MSM_CVP_BUFTYPE_INPUT 0x00000001
32 #define MSM_CVP_BUFTYPE_OUTPUT 0x00000002
33 #define MSM_CVP_BUFTYPE_INTERNAL_1 0x00000003
34 #define MSM_CVP_BUFTYPE_INTERNAL_2 0x00000004
35 struct msm_cvp_session_info {
36   unsigned int session_id;
37   unsigned int reserved[10];
38 };
39 struct msm_cvp_request_power {
40   unsigned int clock_cycles_a;
41   unsigned int clock_cycles_b;
42   unsigned int ddr_bw;
43   unsigned int sys_cache_bw;
44   unsigned int reserved[8];
45 };
46 struct msm_cvp_buffer {
47   unsigned int index;
48   unsigned int type;
49   unsigned int fd;
50   unsigned int size;
51   unsigned int offset;
52   unsigned int pixelformat;
53   unsigned int flags;
54   unsigned int reserved[5];
55 };
56 struct msm_vidc_arg {
57   unsigned int type;
58   union data_t {
59     struct msm_cvp_session_info session;
60     struct msm_cvp_request_power req_power;
61     struct msm_cvp_buffer regbuf;
62     struct msm_cvp_buffer unregbuf;
63   } data;
64   unsigned int reserved[12];
65 };
66 #endif
67