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_ISP__ 20 #define __MSMB_ISP__ 21 #include <linux/videodev2.h> 22 #define MAX_PLANES_PER_STREAM 3 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #define MAX_NUM_STREAM 7 25 #define ISP_VERSION_40 40 26 #define ISP_VERSION_32 32 27 #define ISP_NATIVE_BUF_BIT (0x10000 << 0) 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 #define ISP0_BIT (0x10000 << 1) 30 #define ISP1_BIT (0x10000 << 2) 31 #define ISP_META_CHANNEL_BIT (0x10000 << 3) 32 #define ISP_SCRATCH_BUF_BIT (0x10000 << 4) 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 #define ISP_STATS_STREAM_BIT 0x80000000 35 #define ISP_REG_CFG_NUM_CFG_MAX (10) 36 #define ISP_REG_CFG_CMD_LEN_MAX (3 * 1024) 37 enum ISP_START_PIXEL_PATTERN { 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 ISP_BAYER_RGRGRG, 40 ISP_BAYER_GRGRGR, 41 ISP_BAYER_BGBGBG, 42 ISP_BAYER_GBGBGB, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 ISP_YUV_YCbYCr, 45 ISP_YUV_YCrYCb, 46 ISP_YUV_CbYCrY, 47 ISP_YUV_CrYCbY, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 ISP_PIX_PATTERN_MAX 50 }; 51 enum msm_vfe_plane_fmt { 52 Y_PLANE, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 CB_PLANE, 55 CR_PLANE, 56 CRCB_PLANE, 57 CBCR_PLANE, 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 VFE_PLANE_FMT_MAX 60 }; 61 enum msm_vfe_input_src { 62 VFE_PIX_0, 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 VFE_RAW_0, 65 VFE_RAW_1, 66 VFE_RAW_2, 67 VFE_SRC_MAX, 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 }; 70 enum msm_vfe_axi_stream_src { 71 PIX_ENCODER, 72 PIX_VIEWFINDER, 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 CAMIF_RAW, 75 IDEAL_RAW, 76 RDI_INTF_0, 77 RDI_INTF_1, 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 RDI_INTF_2, 80 VFE_AXI_SRC_MAX 81 }; 82 enum msm_vfe_frame_skip_pattern { 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 NO_SKIP, 85 EVERY_2FRAME, 86 EVERY_3FRAME, 87 EVERY_4FRAME, 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 EVERY_5FRAME, 90 EVERY_6FRAME, 91 EVERY_7FRAME, 92 EVERY_8FRAME, 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 EVERY_16FRAME, 95 EVERY_32FRAME, 96 SKIP_ALL, 97 MAX_SKIP, 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 }; 100 enum msm_vfe_camif_input { 101 CAMIF_DISABLED, 102 CAMIF_PAD_REG_INPUT, 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 CAMIF_MIDDI_INPUT, 105 CAMIF_MIPI_INPUT, 106 }; 107 struct msm_vfe_camif_cfg { 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 uint32_t lines_per_frame; 110 uint32_t pixels_per_line; 111 uint32_t first_pixel; 112 uint32_t last_pixel; 113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 114 uint32_t first_line; 115 uint32_t last_line; 116 uint32_t epoch_line0; 117 uint32_t epoch_line1; 118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 119 enum msm_vfe_camif_input camif_input; 120 }; 121 enum msm_vfe_inputmux { 122 CAMIF, 123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124 TESTGEN, 125 EXTERNAL_READ, 126 }; 127 struct msm_vfe_pix_cfg { 128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129 struct msm_vfe_camif_cfg camif_cfg; 130 enum msm_vfe_inputmux input_mux; 131 enum ISP_START_PIXEL_PATTERN pixel_pattern; 132 }; 133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 134 struct msm_vfe_rdi_cfg { 135 uint8_t cid; 136 uint8_t frame_based; 137 }; 138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 139 struct msm_vfe_input_cfg { 140 union { 141 struct msm_vfe_pix_cfg pix_cfg; 142 struct msm_vfe_rdi_cfg rdi_cfg; 143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 144 } d; 145 enum msm_vfe_input_src input_src; 146 uint32_t input_pix_clk; 147 }; 148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149 struct msm_vfe_axi_plane_cfg { 150 uint32_t output_width; 151 uint32_t output_height; 152 uint32_t output_stride; 153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 154 uint32_t output_scan_lines; 155 uint32_t output_plane_format; 156 uint32_t plane_addr_offset; 157 uint8_t csid_src; 158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 159 uint8_t rdi_cid; 160 }; 161 struct msm_vfe_axi_stream_request_cmd { 162 uint32_t session_id; 163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 164 uint32_t stream_id; 165 uint32_t output_format; 166 enum msm_vfe_axi_stream_src stream_src; 167 struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM]; 168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 169 uint32_t burst_count; 170 uint32_t hfr_mode; 171 uint8_t frame_base; 172 uint32_t init_frame_drop; 173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 174 enum msm_vfe_frame_skip_pattern frame_skip_pattern; 175 uint8_t buf_divert; 176 uint32_t axi_stream_handle; 177 }; 178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 179 struct msm_vfe_axi_stream_release_cmd { 180 uint32_t stream_handle; 181 }; 182 enum msm_vfe_axi_stream_cmd { 183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 184 STOP_STREAM, 185 START_STREAM, 186 }; 187 struct msm_vfe_axi_stream_cfg_cmd { 188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 189 uint8_t num_streams; 190 uint32_t stream_handle[MAX_NUM_STREAM]; 191 enum msm_vfe_axi_stream_cmd cmd; 192 }; 193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 194 enum msm_vfe_axi_stream_update_type { 195 ENABLE_STREAM_BUF_DIVERT, 196 DISABLE_STREAM_BUF_DIVERT, 197 UPDATE_STREAM_FRAMEDROP_PATTERN, 198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 199 UPDATE_STREAM_REQUEST_FRAMES, 200 }; 201 struct msm_vfe_axi_stream_update_cmd { 202 uint32_t stream_handle; 203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 204 enum msm_vfe_axi_stream_update_type update_type; 205 enum msm_vfe_frame_skip_pattern skip_pattern; 206 uint32_t request_frm_num; 207 }; 208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 209 enum msm_isp_stats_type { 210 MSM_ISP_STATS_AEC, 211 MSM_ISP_STATS_AF, 212 MSM_ISP_STATS_AWB, 213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 214 MSM_ISP_STATS_RS, 215 MSM_ISP_STATS_CS, 216 MSM_ISP_STATS_IHIST, 217 MSM_ISP_STATS_SKIN, 218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 219 MSM_ISP_STATS_BG, 220 MSM_ISP_STATS_BF, 221 MSM_ISP_STATS_BE, 222 MSM_ISP_STATS_BHIST, 223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 224 MSM_ISP_STATS_MAX 225 }; 226 struct msm_vfe_stats_stream_request_cmd { 227 uint32_t session_id; 228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 229 uint32_t stream_id; 230 enum msm_isp_stats_type stats_type; 231 uint32_t composite_flag; 232 uint32_t framedrop_pattern; 233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 234 uint32_t irq_subsample_pattern; 235 uint32_t buffer_offset; 236 uint32_t stream_handle; 237 }; 238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 239 struct msm_vfe_stats_stream_release_cmd { 240 uint32_t stream_handle; 241 }; 242 struct msm_vfe_stats_stream_cfg_cmd { 243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 244 uint8_t num_streams; 245 uint32_t stream_handle[MSM_ISP_STATS_MAX]; 246 uint8_t enable; 247 }; 248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 249 enum msm_vfe_reg_cfg_type { 250 VFE_WRITE, 251 VFE_WRITE_MB, 252 VFE_READ, 253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 254 VFE_CFG_MASK, 255 VFE_WRITE_DMI_16BIT, 256 VFE_WRITE_DMI_32BIT, 257 VFE_WRITE_DMI_64BIT, 258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 259 VFE_READ_DMI_16BIT, 260 VFE_READ_DMI_32BIT, 261 VFE_READ_DMI_64BIT, 262 }; 263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 264 struct msm_vfe_cfg_cmd2 { 265 uint16_t num_cfg; 266 uint16_t cmd_len; 267 void __user *cfg_data; 268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 269 void __user *cfg_cmd; 270 }; 271 struct msm_vfe_reg_rw_info { 272 uint32_t reg_offset; 273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 274 uint32_t cmd_data_offset; 275 uint32_t len; 276 }; 277 struct msm_vfe_reg_mask_info { 278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 279 uint32_t reg_offset; 280 uint32_t mask; 281 uint32_t val; 282 }; 283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 284 struct msm_vfe_reg_dmi_info { 285 uint32_t hi_tbl_offset; 286 uint32_t lo_tbl_offset; 287 uint32_t len; 288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 289 }; 290 struct msm_vfe_reg_cfg_cmd { 291 union { 292 struct msm_vfe_reg_rw_info rw_info; 293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 294 struct msm_vfe_reg_mask_info mask_info; 295 struct msm_vfe_reg_dmi_info dmi_info; 296 } u; 297 enum msm_vfe_reg_cfg_type cmd_type; 298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 299 }; 300 enum msm_isp_buf_type { 301 ISP_PRIVATE_BUF, 302 ISP_SHARE_BUF, 303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 304 MAX_ISP_BUF_TYPE, 305 }; 306 struct msm_isp_buf_request { 307 uint32_t session_id; 308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 309 uint32_t stream_id; 310 uint8_t num_buf; 311 uint32_t handle; 312 enum msm_isp_buf_type buf_type; 313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 314 }; 315 struct msm_isp_qbuf_info { 316 uint32_t handle; 317 int buf_idx; 318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 319 struct v4l2_buffer buffer; 320 uint32_t dirty_buf; 321 }; 322 struct msm_vfe_axi_src_state { 323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 324 enum msm_vfe_input_src input_src; 325 uint32_t src_active; 326 }; 327 enum msm_isp_event_idx { 328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 329 ISP_REG_UPDATE = 0, 330 ISP_START_ACK = 1, 331 ISP_STOP_ACK = 2, 332 ISP_IRQ_VIOLATION = 3, 333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 334 ISP_WM_BUS_OVERFLOW = 4, 335 ISP_STATS_OVERFLOW = 5, 336 ISP_CAMIF_ERROR = 6, 337 ISP_SOF = 7, 338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 339 ISP_EOF = 8, 340 ISP_FRAME_DROP = 9, 341 ISP_EVENT_MAX = 10 342 }; 343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 344 #define ISP_EVENT_OFFSET 8 345 #define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START) 346 #define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET)) 347 #define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET)) 348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 349 #define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE) 350 #define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK) 351 #define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK) 352 #define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION) 353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 354 #define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW) 355 #define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW) 356 #define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR) 357 #define ISP_EVENT_SOF (ISP_EVENT_BASE + ISP_SOF) 358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 359 #define ISP_EVENT_EOF (ISP_EVENT_BASE + ISP_EOF) 360 #define ISP_EVENT_FRAME_DROP (ISP_EVENT_BASE + ISP_FRAME_DROP) 361 #define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE) 362 #define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE) 363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 364 #define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX) 365 struct msm_isp_buf_event { 366 uint32_t session_id; 367 uint32_t stream_id; 368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 369 uint32_t handle; 370 int8_t buf_idx; 371 }; 372 struct msm_isp_stats_event { 373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 374 uint32_t stats_mask; 375 uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX]; 376 }; 377 struct msm_isp_stream_ack { 378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 379 uint32_t session_id; 380 uint32_t stream_id; 381 uint32_t handle; 382 }; 383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 384 struct msm_isp_event_data { 385 struct timeval timestamp; 386 struct timeval mono_timestamp; 387 uint32_t frame_id; 388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 389 union { 390 struct msm_isp_stream_ack stream_ack; 391 enum msm_vfe_input_src input_src; 392 struct msm_isp_stats_event stats; 393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 394 uint32_t irq_status_mask; 395 struct msm_isp_buf_event buf_done; 396 } u; 397 }; 398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 399 #define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8') 400 #define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8') 401 #define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8') 402 #define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8') 403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 404 #define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0') 405 #define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0') 406 #define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0') 407 #define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0') 408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 409 #define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2') 410 #define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2') 411 #define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2') 412 #define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2') 413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 414 #define VIDIOC_MSM_VFE_REG_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2) 415 #define VIDIOC_MSM_ISP_REQUEST_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request) 416 #define VIDIOC_MSM_ISP_ENQUEUE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info) 417 #define VIDIOC_MSM_ISP_RELEASE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request) 418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 419 #define VIDIOC_MSM_ISP_REQUEST_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd) 420 #define VIDIOC_MSM_ISP_CFG_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd) 421 #define VIDIOC_MSM_ISP_RELEASE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd) 422 #define VIDIOC_MSM_ISP_INPUT_CFG _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg) 423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 424 #define VIDIOC_MSM_ISP_SET_SRC_STATE _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state) 425 #define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+9, struct msm_vfe_stats_stream_request_cmd) 426 #define VIDIOC_MSM_ISP_CFG_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd) 427 #define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+11, struct msm_vfe_stats_stream_release_cmd) 428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 429 #define VIDIOC_MSM_ISP_UPDATE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd) 430 #define VIDIOC_MSM_ISP_CONFIG_DONE _IOWR('V', BASE_VIDIOC_PRIVATE+14, int) 431 #endif 432