• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 __MSMB_PPROC_H
20 #define __MSMB_PPROC_H
21 #ifdef MSM_CAMERA_BIONIC
22 #include <sys/types.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #endif
25 #include <linux/videodev2.h>
26 #include <linux/types.h>
27 #define MAX_PLANES VIDEO_MAX_PLANES
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define MAX_NUM_CPP_STRIPS 8
30 #define MSM_CPP_MAX_NUM_PLANES 3
31 enum msm_cpp_frame_type {
32  MSM_CPP_OFFLINE_FRAME,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  MSM_CPP_REALTIME_FRAME,
35 };
36 enum msm_vpe_frame_type {
37  MSM_VPE_OFFLINE_FRAME,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  MSM_VPE_REALTIME_FRAME,
40 };
41 struct msm_cpp_frame_strip_info {
42  int scale_v_en;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  int scale_h_en;
45  int upscale_v_en;
46  int upscale_h_en;
47  int src_start_x;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  int src_end_x;
50  int src_start_y;
51  int src_end_y;
52  int pad_bottom;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  int pad_top;
55  int pad_right;
56  int pad_left;
57  int v_init_phase;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  int h_init_phase;
60  int h_phase_step;
61  int v_phase_step;
62  int prescale_crop_width_first_pixel;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  int prescale_crop_width_last_pixel;
65  int prescale_crop_height_first_line;
66  int prescale_crop_height_last_line;
67  int postscale_crop_height_first_line;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  int postscale_crop_height_last_line;
70  int postscale_crop_width_first_pixel;
71  int postscale_crop_width_last_pixel;
72  int dst_start_x;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  int dst_end_x;
75  int dst_start_y;
76  int dst_end_y;
77  int bytes_per_pixel;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  unsigned int source_address;
80  unsigned int destination_address;
81  unsigned int compl_destination_address;
82  unsigned int src_stride;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  unsigned int dst_stride;
85  int rotate_270;
86  int horizontal_flip;
87  int vertical_flip;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  int scale_output_width;
90  int scale_output_height;
91  int prescale_crop_en;
92  int postscale_crop_en;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 };
95 struct msm_cpp_buffer_info_t {
96  int fd;
97  uint32_t index;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  uint32_t offset;
100  uint8_t native_buff;
101  uint8_t processed_divert;
102 };
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 struct msm_cpp_stream_buff_info_t {
105  uint32_t identity;
106  uint32_t num_buffs;
107  struct msm_cpp_buffer_info_t *buffer_info;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 };
110 struct msm_cpp_frame_info_t {
111  int32_t frame_id;
112  struct timeval timestamp;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  uint32_t inst_id;
115  uint32_t identity;
116  uint32_t client_id;
117  enum msm_cpp_frame_type frame_type;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  uint32_t num_strips;
120  struct msm_cpp_frame_strip_info *strip_info;
121  uint32_t msg_len;
122  uint32_t *cpp_cmd_msg;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  int src_fd;
125  int dst_fd;
126  struct ion_handle *src_ion_handle;
127  struct ion_handle *dest_ion_handle;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  struct timeval in_time, out_time;
130  void *cookie;
131  int32_t *status;
132  int32_t duplicate_output;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  uint32_t duplicate_identity;
135  struct msm_cpp_buffer_info_t input_buffer_info;
136  struct msm_cpp_buffer_info_t output_buffer_info[2];
137 };
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 struct cpp_hw_info {
140  uint32_t cpp_hw_version;
141  uint32_t cpp_hw_caps;
142 };
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 struct msm_vpe_frame_strip_info {
145  uint32_t src_w;
146  uint32_t src_h;
147  uint32_t dst_w;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  uint32_t dst_h;
150  uint32_t src_x;
151  uint32_t src_y;
152  uint32_t phase_step_x;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  uint32_t phase_step_y;
155  uint32_t phase_init_x;
156  uint32_t phase_init_y;
157 };
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 struct msm_vpe_buffer_info_t {
160  int fd;
161  uint32_t index;
162  uint32_t offset;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  uint8_t native_buff;
165  uint8_t processed_divert;
166 };
167 struct msm_vpe_stream_buff_info_t {
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  uint32_t identity;
170  uint32_t num_buffs;
171  struct msm_vpe_buffer_info_t *buffer_info;
172 };
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 struct msm_vpe_frame_info_t {
175  int32_t frame_id;
176  struct timeval timestamp;
177  uint32_t inst_id;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  uint32_t identity;
180  uint32_t client_id;
181  enum msm_vpe_frame_type frame_type;
182  struct msm_vpe_frame_strip_info strip_info;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  int src_fd;
185  int dst_fd;
186  struct ion_handle *src_ion_handle;
187  struct ion_handle *dest_ion_handle;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  unsigned long src_phyaddr;
190  unsigned long dest_phyaddr;
191  unsigned long src_chroma_plane_offset;
192  unsigned long dest_chroma_plane_offset;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  struct timeval in_time, out_time;
195  void *cookie;
196  struct msm_vpe_buffer_info_t input_buffer_info;
197  struct msm_vpe_buffer_info_t output_buffer_info;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 };
200 #define VIDIOC_MSM_CPP_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_v4l2_ioctl_t)
201 #define VIDIOC_MSM_CPP_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct msm_camera_v4l2_ioctl_t)
202 #define VIDIOC_MSM_CPP_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct msm_camera_v4l2_ioctl_t)
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define VIDIOC_MSM_CPP_LOAD_FIRMWARE   _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct msm_camera_v4l2_ioctl_t)
205 #define VIDIOC_MSM_CPP_GET_HW_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct msm_camera_v4l2_ioctl_t)
206 #define VIDIOC_MSM_CPP_FLUSH_QUEUE   _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct msm_camera_v4l2_ioctl_t)
207 #define VIDIOC_MSM_CPP_ENQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct msm_camera_v4l2_ioctl_t)
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 #define VIDIOC_MSM_CPP_DEQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 7, struct msm_camera_v4l2_ioctl_t)
210 #define VIDIOC_MSM_VPE_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE + 8, struct msm_camera_v4l2_ioctl_t)
211 #define VIDIOC_MSM_VPE_TRANSACTION_SETUP   _IOWR('V', BASE_VIDIOC_PRIVATE + 9, struct msm_camera_v4l2_ioctl_t)
212 #define VIDIOC_MSM_VPE_GET_EVENTPAYLOAD   _IOWR('V', BASE_VIDIOC_PRIVATE + 10, struct msm_camera_v4l2_ioctl_t)
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 #define VIDIOC_MSM_VPE_GET_INST_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 11, struct msm_camera_v4l2_ioctl_t)
215 #define VIDIOC_MSM_VPE_ENQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 12, struct msm_camera_v4l2_ioctl_t)
216 #define VIDIOC_MSM_VPE_DEQUEUE_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 13, struct msm_camera_v4l2_ioctl_t)
217 #define VIDIOC_MSM_CPP_SEND_BUF_DONE   _IOWR('V', BASE_VIDIOC_PRIVATE + 14, struct msm_camera_v4l2_ioctl_t)
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 #define VIDIOC_MSM_CPP_POP_STREAM_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 15, struct msm_camera_v4l2_ioctl_t)
220 #define VIDIOC_MSM_CPP_SET_CLOCK   _IOWR('V', BASE_VIDIOC_PRIVATE + 16, struct msm_camera_v4l2_ioctl_t)
221 #define VIDIOC_MSM_CPP_APPEND_STREAM_BUFF_INFO   _IOWR('V', BASE_VIDIOC_PRIVATE + 17, struct msm_camera_v4l2_ioctl_t)
222 #define V4L2_EVENT_CPP_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 0)
223 #define V4L2_EVENT_VPE_FRAME_DONE (V4L2_EVENT_PRIVATE_START + 1)
224 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
225 struct msm_camera_v4l2_ioctl_t {
226  uint32_t id;
227  uint32_t len;
228  int32_t trans_code;
229 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
230  void __user *ioctl_ptr;
231 };
232 #endif
233