1537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/****************************************************************************
2537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ****************************************************************************
3537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***
4537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   This header was automatically generated from a Linux kernel header
5537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   of the same name, to make information necessary for userspace to
6537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   call into the kernel available to libc.  It contains only constants,
7537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   structures, and macros generated from the original header, and thus,
8537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   contains no copyrightable information.
9537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***
10537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   To edit the content of this header, modify the corresponding
11537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   source file (e.g. under external/kernel-headers/original/) then
12537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   run bionic/libc/kernel/tools/update_all.py
13537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***
14537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   Any manual change here will be lost the next time this script will
15537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***   be run. You've been warned!
16537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ***
17537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ****************************************************************************
18537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ****************************************************************************/
19537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#ifndef __MSMB_ISP__
20537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define __MSMB_ISP__
21537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#include <linux/videodev2.h>
22537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define MAX_PLANES_PER_STREAM 3
23537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define MAX_NUM_STREAM 7
25537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_VERSION_40 40
26537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_VERSION_32 32
2739255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP_NATIVE_BUF_BIT (0x10000 << 0)
28537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP0_BIT (0x10000 << 1)
3039255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP1_BIT (0x10000 << 2)
3139255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP_META_CHANNEL_BIT (0x10000 << 3)
3239255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP_SCRATCH_BUF_BIT (0x10000 << 4)
33537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang#define ISP_STATS_STREAM_BIT 0x80000000
357a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimenum ISP_START_PIXEL_PATTERN {
36537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_BAYER_RGRGRG,
37537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_BAYER_GRGRGR,
38537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang ISP_BAYER_BGBGBG,
407a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim ISP_BAYER_GBGBGB,
41537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_YUV_YCbYCr,
42537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_YUV_YCrYCb,
43537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang ISP_YUV_CbYCrY,
457a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim ISP_YUV_CrYCbY,
46537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_PIX_PATTERN_MAX
47537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
48537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wangenum msm_vfe_plane_fmt {
507a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim Y_PLANE,
51537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani CB_PLANE,
52537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani CR_PLANE,
53537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang CRCB_PLANE,
557a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim CBCR_PLANE,
56537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_PLANE_FMT_MAX
57537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
58537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wangenum msm_vfe_input_src {
607a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim VFE_PIX_0,
61537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_RAW_0,
62537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_RAW_1,
63537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang VFE_RAW_2,
657a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim VFE_SRC_MAX,
66537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
67537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanienum msm_vfe_axi_stream_src {
68537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang PIX_ENCODER,
707a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim PIX_VIEWFINDER,
71537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani CAMIF_RAW,
72537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani IDEAL_RAW,
73537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang RDI_INTF_0,
757a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim RDI_INTF_1,
76537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani RDI_INTF_2,
77537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_AXI_SRC_MAX
78537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang};
807a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimenum msm_vfe_frame_skip_pattern {
81537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani NO_SKIP,
82537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EVERY_2FRAME,
83537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang EVERY_3FRAME,
857a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim EVERY_4FRAME,
86537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EVERY_5FRAME,
87537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EVERY_6FRAME,
88537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang EVERY_7FRAME,
907a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim EVERY_8FRAME,
91537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EVERY_16FRAME,
92537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EVERY_32FRAME,
93537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang SKIP_ALL,
957a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim MAX_SKIP,
9692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
97537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanienum msm_vfe_camif_input {
98537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang CAMIF_DISABLED,
1007a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim CAMIF_PAD_REG_INPUT,
10192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani CAMIF_MIDDI_INPUT,
102537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani CAMIF_MIPI_INPUT,
103537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang};
1057a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_vfe_camif_cfg {
10692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t lines_per_frame;
107537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t pixels_per_line;
108537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t first_pixel;
1107a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t last_pixel;
11192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t first_line;
112537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t last_line;
113537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t epoch_line0;
1157a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t epoch_line1;
11692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani enum msm_vfe_camif_input camif_input;
117537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
118537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wangenum msm_vfe_inputmux {
1207a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim CAMIF,
12192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani TESTGEN,
122537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani EXTERNAL_READ,
123537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang};
1257a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_vfe_pix_cfg {
12692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani struct msm_vfe_camif_cfg camif_cfg;
127537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_vfe_inputmux input_mux;
128537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang enum ISP_START_PIXEL_PATTERN pixel_pattern;
1307a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
13192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_rdi_cfg {
132537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint8_t cid;
133537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint8_t frame_based;
1357a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
13692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_input_cfg {
137537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani union {
138537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang struct msm_vfe_pix_cfg pix_cfg;
1407a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_vfe_rdi_cfg rdi_cfg;
14192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani } d;
142537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_vfe_input_src input_src;
143537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t input_pix_clk;
1457a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
14692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_axi_plane_cfg {
147537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t output_width;
148537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t output_height;
1507a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t output_stride;
15192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t output_scan_lines;
152537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t output_plane_format;
153537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t plane_addr_offset;
1557a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint8_t csid_src;
15692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint8_t rdi_cid;
157537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
158537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
15939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wangstruct msm_vfe_axi_stream_request_cmd {
1607a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t session_id;
16192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t stream_id;
162537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t output_format;
163537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang enum msm_vfe_axi_stream_src stream_src;
1657a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_vfe_axi_plane_cfg plane_cfg[MAX_PLANES_PER_STREAM];
16692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t burst_count;
167537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t hfr_mode;
168537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
16939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint8_t frame_base;
1707a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t init_frame_drop;
17192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani enum msm_vfe_frame_skip_pattern frame_skip_pattern;
172537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint8_t buf_divert;
173537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t axi_stream_handle;
1757a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
17692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_axi_stream_release_cmd {
177537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_handle;
178537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
17939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang};
1807a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimenum msm_vfe_axi_stream_cmd {
18192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani STOP_STREAM,
182537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani START_STREAM,
183537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang};
1857a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_vfe_axi_stream_cfg_cmd {
18692b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint8_t num_streams;
187537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_handle[MAX_NUM_STREAM];
188537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
18939255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang enum msm_vfe_axi_stream_cmd cmd;
1907a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
19192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanienum msm_vfe_axi_stream_update_type {
192537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ENABLE_STREAM_BUF_DIVERT,
193537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
19439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang DISABLE_STREAM_BUF_DIVERT,
1957a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim UPDATE_STREAM_FRAMEDROP_PATTERN,
19639255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang UPDATE_STREAM_REQUEST_FRAMES,
19792b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
19839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_axi_stream_update_cmd {
200537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_handle;
2017a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim enum msm_vfe_axi_stream_update_type update_type;
20292b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani enum msm_vfe_frame_skip_pattern skip_pattern;
20339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20439255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang uint32_t request_frm_num;
205537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
206537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanienum msm_isp_stats_type {
2077a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim MSM_ISP_STATS_AEC,
20839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
20992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani MSM_ISP_STATS_AF,
210537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_AWB,
211537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_RS,
2127a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim MSM_ISP_STATS_CS,
21339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani MSM_ISP_STATS_IHIST,
215537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_SKIN,
216537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_BG,
2177a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim MSM_ISP_STATS_BF,
21839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
21992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani MSM_ISP_STATS_BE,
220537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_BHIST,
221537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MSM_ISP_STATS_MAX
2227a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
22339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_stats_stream_request_cmd {
225537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t session_id;
226537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_id;
2277a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim enum msm_isp_stats_type stats_type;
22839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t composite_flag;
230537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t framedrop_pattern;
231537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t irq_subsample_pattern;
2327a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t buffer_offset;
23339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t stream_handle;
235537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
236537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_stats_stream_release_cmd {
2377a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t stream_handle;
23839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
23992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
240537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_stats_stream_cfg_cmd {
241537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint8_t num_streams;
2427a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t stream_handle[MSM_ISP_STATS_MAX];
24339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint8_t enable;
245537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
246537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanienum msm_vfe_reg_cfg_type {
2477a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim VFE_WRITE,
24839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani VFE_WRITE_MB,
250537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_READ,
251537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_CFG_MASK,
2527a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim VFE_WRITE_DMI_16BIT,
25339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani VFE_WRITE_DMI_32BIT,
255537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_WRITE_DMI_64BIT,
256537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani VFE_READ_DMI_16BIT,
2577a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim VFE_READ_DMI_32BIT,
25839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani VFE_READ_DMI_64BIT,
260537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
261537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_cfg_cmd2 {
2627a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint16_t num_cfg;
26339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
26492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint16_t cmd_len;
265537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani void __user *cfg_data;
266537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani void __user *cfg_cmd;
2677a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
26839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
26992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_vfe_reg_rw_info {
270537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t reg_offset;
271537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t cmd_data_offset;
2727a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t len;
27339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
27492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
275537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_reg_mask_info {
276537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t reg_offset;
2777a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t mask;
27839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
27992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t val;
280537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
281537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_reg_dmi_info {
2827a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t hi_tbl_offset;
28339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
28492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t lo_tbl_offset;
285537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t len;
286537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
2877a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_vfe_reg_cfg_cmd {
28839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
28992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani union {
290537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct msm_vfe_reg_rw_info rw_info;
291537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct msm_vfe_reg_mask_info mask_info;
2927a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_vfe_reg_dmi_info dmi_info;
29339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani } u;
295537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_vfe_reg_cfg_type cmd_type;
296537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
2977a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimenum msm_isp_buf_type {
29839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani ISP_PRIVATE_BUF,
300537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_SHARE_BUF,
301537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani MAX_ISP_BUF_TYPE,
3027a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
30339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
30492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_isp_buf_request {
305537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t session_id;
306537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_id;
3077a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint8_t num_buf;
30839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
30992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t handle;
310537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_isp_buf_type buf_type;
311537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
3127a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_isp_qbuf_info {
31339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
31492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t handle;
315537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani int buf_idx;
316537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct v4l2_buffer buffer;
3177a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t dirty_buf;
31839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
31992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
320537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_vfe_axi_src_state {
321537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_vfe_input_src input_src;
3227a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t src_active;
32339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
32492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
325537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanienum msm_isp_event_idx {
326537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_REG_UPDATE = 0,
3277a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim ISP_START_ACK = 1,
32839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
32992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani ISP_STOP_ACK = 2,
330537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_IRQ_VIOLATION = 3,
331537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_WM_BUS_OVERFLOW = 4,
3327a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim ISP_STATS_OVERFLOW = 5,
33339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
33492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani ISP_CAMIF_ERROR = 6,
335537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_SOF = 7,
336537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani ISP_EOF = 8,
3377a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim ISP_EVENT_MAX = 9
33839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
33992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani};
340537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_OFFSET 8
341537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_BASE (V4L2_EVENT_PRIVATE_START)
3427a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define ISP_BUF_EVENT_BASE (ISP_EVENT_BASE + (1 << ISP_EVENT_OFFSET))
34339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani#define ISP_STATS_EVENT_BASE (ISP_EVENT_BASE + (2 << ISP_EVENT_OFFSET))
345537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_REG_UPDATE (ISP_EVENT_BASE + ISP_REG_UPDATE)
346537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_START_ACK (ISP_EVENT_BASE + ISP_START_ACK)
3477a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define ISP_EVENT_STOP_ACK (ISP_EVENT_BASE + ISP_STOP_ACK)
34839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani#define ISP_EVENT_IRQ_VIOLATION (ISP_EVENT_BASE + ISP_IRQ_VIOLATION)
350537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_WM_BUS_OVERFLOW (ISP_EVENT_BASE + ISP_WM_BUS_OVERFLOW)
351537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_STATS_OVERFLOW (ISP_EVENT_BASE + ISP_STATS_OVERFLOW)
3527a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define ISP_EVENT_CAMIF_ERROR (ISP_EVENT_BASE + ISP_CAMIF_ERROR)
35339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
35492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani#define ISP_EVENT_SOF (ISP_EVENT_BASE + ISP_SOF)
355537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_EOF (ISP_EVENT_BASE + ISP_EOF)
356537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define ISP_EVENT_BUF_DIVERT (ISP_BUF_EVENT_BASE)
3577a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define ISP_EVENT_STATS_NOTIFY (ISP_STATS_EVENT_BASE)
35839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
35992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani#define ISP_EVENT_COMP_STATS_NOTIFY (ISP_EVENT_STATS_NOTIFY + MSM_ISP_STATS_MAX)
360537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudanistruct msm_isp_buf_event {
361537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t session_id;
3627a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t stream_id;
36339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
36492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t handle;
365537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani int8_t buf_idx;
366537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
3677a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_isp_stats_event {
36839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
36992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t stats_mask;
370537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint8_t stats_buf_idxs[MSM_ISP_STATS_MAX];
371537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani};
3727a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kimstruct msm_isp_stream_ack {
37339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
37492b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani uint32_t session_id;
375537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t stream_id;
376537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t handle;
3777a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
37839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
37992b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudanistruct msm_isp_event_data {
380537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct timeval timestamp;
38192b8da1af686c72bde47254e7fcd4b17e39be634Ajay Dudani struct timeval mono_timestamp;
3827a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim uint32_t frame_id;
38339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani union {
385537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct msm_isp_stream_ack stream_ack;
386537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani enum msm_vfe_input_src input_src;
3877a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim struct msm_isp_stats_event stats;
38839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani uint32_t irq_status_mask;
390537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani struct msm_isp_buf_event buf_done;
391537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani } u;
3927a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim};
39339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QBGGR8 v4l2_fourcc('Q', 'B', 'G', '8')
395537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGBRG8 v4l2_fourcc('Q', 'G', 'B', '8')
396537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGRBG8 v4l2_fourcc('Q', 'G', 'R', '8')
3977a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define V4L2_PIX_FMT_QRGGB8 v4l2_fourcc('Q', 'R', 'G', '8')
39839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QBGGR10 v4l2_fourcc('Q', 'B', 'G', '0')
400537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGBRG10 v4l2_fourcc('Q', 'G', 'B', '0')
401537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGRBG10 v4l2_fourcc('Q', 'G', 'R', '0')
4027a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define V4L2_PIX_FMT_QRGGB10 v4l2_fourcc('Q', 'R', 'G', '0')
40339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QBGGR12 v4l2_fourcc('Q', 'B', 'G', '2')
405537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGBRG12 v4l2_fourcc('Q', 'G', 'B', '2')
406537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define V4L2_PIX_FMT_QGRBG12 v4l2_fourcc('Q', 'G', 'R', '2')
4077a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define V4L2_PIX_FMT_QRGGB12 v4l2_fourcc('Q', 'R', 'G', '2')
40839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_VFE_REG_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_vfe_cfg_cmd2)
410537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_REQUEST_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+1, struct msm_isp_buf_request)
411537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_ENQUEUE_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+2, struct msm_isp_qbuf_info)
4127a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define VIDIOC_MSM_ISP_RELEASE_BUF   _IOWR('V', BASE_VIDIOC_PRIVATE+3, struct msm_isp_buf_request)
41339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_REQUEST_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+4, struct msm_vfe_axi_stream_request_cmd)
415537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_CFG_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+5, struct msm_vfe_axi_stream_cfg_cmd)
416537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_RELEASE_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+6, struct msm_vfe_axi_stream_release_cmd)
4177a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define VIDIOC_MSM_ISP_INPUT_CFG   _IOWR('V', BASE_VIDIOC_PRIVATE+7, struct msm_vfe_input_cfg)
41839255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_SET_SRC_STATE   _IOWR('V', BASE_VIDIOC_PRIVATE+8, struct msm_vfe_axi_src_state)
420537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_REQUEST_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+9,   struct msm_vfe_stats_stream_request_cmd)
421537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_CFG_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+10, struct msm_vfe_stats_stream_cfg_cmd)
4227a90a415fdbdc9397677f6339f0c2fb402dcae29Devin Kim#define VIDIOC_MSM_ISP_RELEASE_STATS_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+11,   struct msm_vfe_stats_stream_release_cmd)
42339255afaa96f3cff1ab99d98bb70c85723bb1c97Shuzhen Wang/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#define VIDIOC_MSM_ISP_UPDATE_STREAM   _IOWR('V', BASE_VIDIOC_PRIVATE+13, struct msm_vfe_axi_stream_update_cmd)
425537a84edd4d8369012dbe56730096d1eb3e0401dAjay Dudani#endif
426