msmb_isp.h revision 19909838ad2d0452db0e96acdf0e1c2d522a6512
13c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/**************************************************************************** 23c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang **************************************************************************** 33c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** 43c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** This header was automatically generated from a Linux kernel header 53c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** of the same name, to make information necessary for userspace to 63c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** call into the kernel available to libc. It contains only constants, 73c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** structures, and macros generated from the original header, and thus, 83c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** contains no copyrightable information. 93c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** 103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** To edit the content of this header, modify the corresponding 113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** source file (e.g. under external/kernel-headers/original/) then 123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** run bionic/libc/kernel/tools/update_all.py 133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** 143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** Any manual change here will be lost the next time this script will 153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** be run. You've been warned! 163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang *** 173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang **************************************************************************** 183c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ****************************************************************************/ 193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#ifndef __MSMB_ISP__ 203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define __MSMB_ISP__ 213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#include <linux/videodev2.h> 223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define MAX_PLANES_PER_STREAM 3 233c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define MAX_NUM_STREAM 7 253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_46 46 263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_44 44 273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_40 40 283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_VERSION_32 32 303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_NATIVE_BUF_BIT (0x10000 << 0) 313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP0_BIT (0x10000 << 1) 323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP1_BIT (0x10000 << 2) 333c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_META_CHANNEL_BIT (0x10000 << 3) 353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_SCRATCH_BUF_BIT (0x10000 << 4) 363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_STATS_STREAM_BIT 0x80000000 373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd_list; 383c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum ISP_START_PIXEL_PATTERN { 403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_RGRGRG, 413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_GRGRGR, 423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_BGBGBG, 433c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BAYER_GBGBGB, 453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_YCbYCr, 463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_YCrYCb, 473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_CbYCrY, 483c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_YUV_CrYCbY, 503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_PIX_PATTERN_MAX 513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_plane_fmt { 533c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang Y_PLANE, 553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CB_PLANE, 563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CR_PLANE, 573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CRCB_PLANE, 583c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CBCR_PLANE, 603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_PLANE_FMT_MAX 613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_input_src { 633c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_PIX_0, 653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_0, 663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_1, 673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_RAW_2, 683c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_SRC_MAX, 703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_src { 723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_ENCODER, 733c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_VIEWFINDER, 753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang PIX_VIDEO, 763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_RAW, 773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IDEAL_RAW, 783c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_0, 803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_1, 813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang RDI_INTF_2, 823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_AXI_SRC_MAX 833c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_frame_skip_pattern { 863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang NO_SKIP, 873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_2FRAME, 883c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_3FRAME, 903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_4FRAME, 913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_5FRAME, 923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_6FRAME, 933c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_7FRAME, 953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_8FRAME, 963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_16FRAME, 973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EVERY_32FRAME, 983c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang SKIP_ALL, 1003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MAX_SKIP, 1013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_camif_input { 1033c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_DISABLED, 1053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_PAD_REG_INPUT, 1063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_MIDDI_INPUT, 1073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF_MIPI_INPUT, 1083c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_camif_cfg { 1113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t lines_per_frame; 1123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t pixels_per_line; 1133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t first_pixel; 1153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t last_pixel; 1163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t first_line; 1173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t last_line; 1183c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t epoch_line0; 1203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t epoch_line1; 1213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_camif_input camif_input; 1223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1233c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_inputmux { 1253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang CAMIF, 1263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang TESTGEN, 1273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang EXTERNAL_READ, 1283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_stats_composite_group { 1313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_NONE, 1323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_1, 1333c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_2, 1353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STATS_COMPOSITE_GRP_MAX, 1363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_pix_cfg { 1383c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_camif_cfg camif_cfg; 1403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_inputmux input_mux; 1413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum ISP_START_PIXEL_PATTERN pixel_pattern; 1423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t input_format; 1433c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_rdi_cfg { 1463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t cid; 1473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t frame_based; 1483c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_input_cfg { 1513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union { 1523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_pix_cfg pix_cfg; 1533c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_rdi_cfg rdi_cfg; 1553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } d; 1563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_src; 1573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t input_pix_clk; 1583c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_plane_cfg { 1613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_width; 1623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_height; 1633c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_stride; 1653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_scan_lines; 1663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_plane_format; 1673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t plane_addr_offset; 1683c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t csid_src; 1703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t rdi_cid; 1713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_request_cmd { 1733c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id; 1753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id; 1763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t vt_enable; 1773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format; 1783c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_src stream_src; 1803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM]; 1813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t burst_count; 1823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t hfr_mode; 1833c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t frame_base; 1853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t init_frame_drop; 1863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_frame_skip_pattern frame_skip_pattern; 1873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t buf_divert; 1883c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t axi_stream_handle; 1903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t controllable_output; 1913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_release_cmd { 1933c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle; 1953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 1963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_cmd { 1973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STOP_STREAM, 1983c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 1993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang START_STREAM, 2003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang STOP_IMMEDIATELY, 2013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_cfg_cmd { 2033c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_streams; 2053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle[MAX_NUM_STREAM]; 2063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_cmd cmd; 2073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2083c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_axi_stream_update_type { 2103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ENABLE_STREAM_BUF_DIVERT, 2113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang DISABLE_STREAM_BUF_DIVERT, 2123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_FRAMEDROP_PATTERN, 2133c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_AXI_CONFIG, 2153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang UPDATE_STREAM_REQUEST_FRAMES, 21619909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang UPDATE_STREAM_ADD_BUFQ, 21719909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang UPDATE_STREAM_REMOVE_BUFQ, 21819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_iommu_type { 2213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IOMMU_ATTACH, 2223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang IOMMU_DETACH, 22319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_cfg_update_info { 2263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle; 2273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format; 2283c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 22919909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang uint32_t user_stream_id; 23019909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang uint8_t need_divert; 23119909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang enum msm_vfe_frame_skip_pattern skip_pattern; 2323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM]; 23319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_stream_update_cmd { 2363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t num_streams; 2373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_axi_stream_update_type update_type; 23819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_axi_stream_cfg_update_info update_info[MAX_NUM_STREAM]; 2403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_smmu_attach_cmd { 2423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t security_mode; 24319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t iommu_attach_mode; 2453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_stats_type { 2473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AEC, 24819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AF, 2503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_AWB, 2513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_RS, 2523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_CS, 25319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_IHIST, 2553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_SKIN, 2563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BG, 2573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BF, 25819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BE, 2603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BHIST, 2613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_BF_SCALE, 2623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_HDR_BE, 26319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_HDR_BHIST, 2653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MSM_ISP_STATS_MAX 2663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_request_cmd { 26819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id; 2703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id; 2713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_isp_stats_type stats_type; 2723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t composite_flag; 27319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t framedrop_pattern; 2753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t irq_subsample_pattern; 2763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t buffer_offset; 2773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle; 27819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_release_cmd { 2813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle; 2823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 28319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_stats_stream_cfg_cmd { 2853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_streams; 2863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_handle[MSM_ISP_STATS_MAX]; 2873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t enable; 28819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 2903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_vfe_reg_cfg_type { 2913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE, 2923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_MB, 29319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ, 2953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_CFG_MASK, 2963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_16BIT, 2973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_32BIT, 29819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_WRITE_DMI_64BIT, 3003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_16BIT, 3013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_32BIT, 3023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang VFE_READ_DMI_64BIT, 30319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang GET_MAX_CLK_RATE, 3053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang GET_ISP_ID, 3063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd2 { 30819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint16_t num_cfg; 3103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint16_t cmd_len; 3113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang void __user *cfg_data; 3123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang void __user *cfg_cmd; 31319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_cfg_cmd_list { 3163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_cfg_cmd2 cfg_cmd; 3173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_cfg_cmd_list *next; 31819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t next_size; 3203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_rw_info { 3223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t reg_offset; 32319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t cmd_data_offset; 3253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t len; 3263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_mask_info { 32819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t reg_offset; 3303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t mask; 3313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t val; 3323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 33319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_dmi_info { 3353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t hi_tbl_offset; 3363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t lo_tbl_offset; 3373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t len; 33819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_reg_cfg_cmd { 3413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union { 3423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_rw_info rw_info; 34319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_mask_info mask_info; 3453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_vfe_reg_dmi_info dmi_info; 3463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } u; 3473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_reg_cfg_type cmd_type; 34819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_buf_type { 3513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_PRIVATE_BUF, 3523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_SHARE_BUF, 35319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang MAX_ISP_BUF_TYPE, 3553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_buf_request { 3573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id; 35819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id; 3603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t num_buf; 3613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle; 3623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_isp_buf_type buf_type; 36319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_plane { 3663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t addr; 3673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t offset; 36819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_buffer { 3713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_qbuf_plane planes[MAX_PLANES_PER_STREAM]; 3723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t num_planes; 37319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_qbuf_info { 3763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle; 3773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang int32_t buf_idx; 37819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_qbuf_buffer buffer; 3803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t dirty_buf; 3813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_vfe_axi_src_state { 38319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_src; 3853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t src_active; 3863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 3873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangenum msm_isp_event_idx { 38819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_REG_UPDATE = 0, 3903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_START_ACK = 1, 3913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_STOP_ACK = 2, 3923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_IRQ_VIOLATION = 3, 39319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_WM_BUS_OVERFLOW = 4, 3953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_STATS_OVERFLOW = 5, 3963c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_CAMIF_ERROR = 6, 3973c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_BUF_DONE = 9, 39819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3993c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang ISP_EVENT_MAX = 10 4003c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 4013c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_OFFSET 8 4023c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START) 40319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4043c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET)) 4053c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET)) 4063c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_SOF_EVENT_BASE (ISP_EVENT_BASE + (3 << ISP_EVENT_OFFSET)) 4073c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EOF_EVENT_BASE (ISP_EVENT_BASE + (4 << ISP_EVENT_OFFSET)) 40819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4093c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE) 4103c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK) 4113c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK) 4123c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION) 41319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4143c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW) 4153c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW) 4163c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR) 4173c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_SOF (ISP_SOF_EVENT_BASE) 41819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4193c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_EOF (ISP_EOF_EVENT_BASE) 4203c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BUF_DONE (ISP_EVENT_BASE + ISP_BUF_DONE) 4213c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE) 4223c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE) 42319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4243c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX) 4253c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_buf_event { 4263c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id; 4273c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id; 42819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4293c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle; 4303c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t output_format; 4313c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang int8_t buf_idx; 4323c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 43319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4343c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_stats_event { 4353c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stats_mask; 4363c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX]; 4373c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 43819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4393c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_stream_ack { 4403c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t session_id; 4413c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t stream_id; 4423c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t handle; 44319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4443c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 4453c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wangstruct msm_isp_event_data { 4463c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct timeval timestamp; 4473c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct timeval mono_timestamp; 44819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4493c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang enum msm_vfe_input_src input_intf; 4503c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang uint32_t frame_id; 4513c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang union { 4523c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_stats_event stats; 45319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4543c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang struct msm_isp_buf_event buf_done; 4553c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang } u; 4563c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang}; 4573c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8') 45819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4593c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8') 4603c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8') 4613c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8') 4623c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0') 46319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4643c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0') 4653c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0') 4663c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0') 4673c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2') 46819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4693c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2') 4703c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2') 4713c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2') 4723c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_NV14 v4l2_fourcc('N', 'V', '1', '4') 47319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4743c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_NV41 v4l2_fourcc('N', 'V', '4', '1') 4753c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define V4L2_PIX_FMT_META v4l2_fourcc('Q', 'M', 'E', 'T') 4763c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_VFE_REG_CFG _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2) 4773c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request) 47819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4793c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_ENQUEUE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info) 4803c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_BUF _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request) 4813c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd) 4823c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_CFG_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd) 48319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4843c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd) 4853c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_INPUT_CFG _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg) 4863c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_SET_SRC_STATE _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state) 4873c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+9, struct msm_vfe_stats_stream_request_cmd) 48819909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4893c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_CFG_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd) 4903c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+11, struct msm_vfe_stats_stream_release_cmd) 4913c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_UPDATE_STREAM _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd) 4923c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_VFE_REG_LIST_CFG _IOWR('V', BASE_VIDIOC_PRIVATE+14, struct msm_vfe_cfg_cmd_list) 49319909838ad2d0452db0e96acdf0e1c2d522a6512Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4943c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#define VIDIOC_MSM_ISP_SMMU_ATTACH _IOWR('V', BASE_VIDIOC_PRIVATE+15, struct msm_vfe_smmu_attach_cmd) 4953c85dc9b54252007411d433390ad438d8c0cf36eShuzhen Wang#endif 496