1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2015, Intel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13 * more details.
14 */
15
16/* Generated code: do not edit or commmit. */
17
18#ifndef _IA_CSS_ISP_PARAM_H
19#define _IA_CSS_ISP_PARAM_H
20
21/* Code generated by genparam/gencode.c:gen_param_enum() */
22
23enum ia_css_parameter_ids {
24	IA_CSS_AA_ID,
25	IA_CSS_ANR_ID,
26	IA_CSS_ANR2_ID,
27	IA_CSS_BH_ID,
28	IA_CSS_CNR_ID,
29	IA_CSS_CROP_ID,
30	IA_CSS_CSC_ID,
31	IA_CSS_DP_ID,
32	IA_CSS_BNR_ID,
33	IA_CSS_DE_ID,
34	IA_CSS_ECD_ID,
35	IA_CSS_FORMATS_ID,
36	IA_CSS_FPN_ID,
37	IA_CSS_GC_ID,
38	IA_CSS_CE_ID,
39	IA_CSS_YUV2RGB_ID,
40	IA_CSS_RGB2YUV_ID,
41	IA_CSS_R_GAMMA_ID,
42	IA_CSS_G_GAMMA_ID,
43	IA_CSS_B_GAMMA_ID,
44	IA_CSS_UDS_ID,
45	IA_CSS_RAA_ID,
46	IA_CSS_S3A_ID,
47	IA_CSS_OB_ID,
48	IA_CSS_OUTPUT_ID,
49	IA_CSS_SC_ID,
50	IA_CSS_BDS_ID,
51	IA_CSS_TNR_ID,
52	IA_CSS_MACC_ID,
53	IA_CSS_SDIS_HORICOEF_ID,
54	IA_CSS_SDIS_VERTCOEF_ID,
55	IA_CSS_SDIS_HORIPROJ_ID,
56	IA_CSS_SDIS_VERTPROJ_ID,
57	IA_CSS_SDIS2_HORICOEF_ID,
58	IA_CSS_SDIS2_VERTCOEF_ID,
59	IA_CSS_SDIS2_HORIPROJ_ID,
60	IA_CSS_SDIS2_VERTPROJ_ID,
61	IA_CSS_WB_ID,
62	IA_CSS_NR_ID,
63	IA_CSS_YEE_ID,
64	IA_CSS_YNR_ID,
65	IA_CSS_FC_ID,
66	IA_CSS_CTC_ID,
67	IA_CSS_XNR_TABLE_ID,
68	IA_CSS_XNR_ID,
69	IA_CSS_XNR3_ID,
70	IA_CSS_NUM_PARAMETER_IDS
71};
72
73/* Code generated by genparam/gencode.c:gen_param_offsets() */
74
75struct ia_css_memory_offsets {
76	struct {
77		struct ia_css_isp_parameter aa;
78		struct ia_css_isp_parameter anr;
79		struct ia_css_isp_parameter bh;
80		struct ia_css_isp_parameter cnr;
81		struct ia_css_isp_parameter crop;
82		struct ia_css_isp_parameter csc;
83		struct ia_css_isp_parameter dp;
84		struct ia_css_isp_parameter bnr;
85		struct ia_css_isp_parameter de;
86		struct ia_css_isp_parameter ecd;
87		struct ia_css_isp_parameter formats;
88		struct ia_css_isp_parameter fpn;
89		struct ia_css_isp_parameter gc;
90		struct ia_css_isp_parameter ce;
91		struct ia_css_isp_parameter yuv2rgb;
92		struct ia_css_isp_parameter rgb2yuv;
93		struct ia_css_isp_parameter uds;
94		struct ia_css_isp_parameter raa;
95		struct ia_css_isp_parameter s3a;
96		struct ia_css_isp_parameter ob;
97		struct ia_css_isp_parameter output;
98		struct ia_css_isp_parameter sc;
99		struct ia_css_isp_parameter bds;
100		struct ia_css_isp_parameter tnr;
101		struct ia_css_isp_parameter macc;
102		struct ia_css_isp_parameter sdis_horiproj;
103		struct ia_css_isp_parameter sdis_vertproj;
104		struct ia_css_isp_parameter sdis2_horiproj;
105		struct ia_css_isp_parameter sdis2_vertproj;
106		struct ia_css_isp_parameter wb;
107		struct ia_css_isp_parameter nr;
108		struct ia_css_isp_parameter yee;
109		struct ia_css_isp_parameter ynr;
110		struct ia_css_isp_parameter fc;
111		struct ia_css_isp_parameter ctc;
112		struct ia_css_isp_parameter xnr;
113		struct ia_css_isp_parameter xnr3;
114		struct ia_css_isp_parameter get;
115		struct ia_css_isp_parameter put;
116	} dmem;
117	struct {
118		struct ia_css_isp_parameter anr2;
119		struct ia_css_isp_parameter ob;
120		struct ia_css_isp_parameter sdis_horicoef;
121		struct ia_css_isp_parameter sdis_vertcoef;
122		struct ia_css_isp_parameter sdis2_horicoef;
123		struct ia_css_isp_parameter sdis2_vertcoef;
124	} vmem;
125	struct {
126		struct ia_css_isp_parameter bh;
127	} hmem0;
128	struct {
129		struct ia_css_isp_parameter gc;
130		struct ia_css_isp_parameter g_gamma;
131		struct ia_css_isp_parameter xnr_table;
132	} vamem1;
133	struct {
134		struct ia_css_isp_parameter r_gamma;
135		struct ia_css_isp_parameter ctc;
136	} vamem0;
137	struct {
138		struct ia_css_isp_parameter b_gamma;
139	} vamem2;
140};
141
142#if defined(IA_CSS_INCLUDE_PARAMETERS)
143
144#include "ia_css_stream.h"   /* struct ia_css_stream */
145#include "ia_css_binary.h"   /* struct ia_css_binary */
146/* Code generated by genparam/gencode.c:gen_param_process_table() */
147
148struct ia_css_pipeline_stage; /* forward declaration */
149
150extern void (*ia_css_kernel_process_param[IA_CSS_NUM_PARAMETER_IDS])(
151    unsigned int pipe_id,
152    const struct ia_css_pipeline_stage *stage,
153    struct ia_css_isp_parameters *params);
154
155/* Code generated by genparam/gencode.c:gen_set_function() */
156
157void
158ia_css_set_dp_config(struct ia_css_isp_parameters *params,
159		     const struct ia_css_dp_config *config);
160
161/* Code generated by genparam/gencode.c:gen_set_function() */
162
163void
164ia_css_set_wb_config(struct ia_css_isp_parameters *params,
165		     const struct ia_css_wb_config *config);
166
167/* Code generated by genparam/gencode.c:gen_set_function() */
168
169void
170ia_css_set_tnr_config(struct ia_css_isp_parameters *params,
171		      const struct ia_css_tnr_config *config);
172
173/* Code generated by genparam/gencode.c:gen_set_function() */
174
175void
176ia_css_set_ob_config(struct ia_css_isp_parameters *params,
177		     const struct ia_css_ob_config *config);
178
179/* Code generated by genparam/gencode.c:gen_set_function() */
180
181void
182ia_css_set_de_config(struct ia_css_isp_parameters *params,
183		     const struct ia_css_de_config *config);
184
185/* Code generated by genparam/gencode.c:gen_set_function() */
186
187void
188ia_css_set_anr_config(struct ia_css_isp_parameters *params,
189		      const struct ia_css_anr_config *config);
190
191/* Code generated by genparam/gencode.c:gen_set_function() */
192
193void
194ia_css_set_anr2_config(struct ia_css_isp_parameters *params,
195		       const struct ia_css_anr_thres *config);
196
197/* Code generated by genparam/gencode.c:gen_set_function() */
198
199void
200ia_css_set_ce_config(struct ia_css_isp_parameters *params,
201		     const struct ia_css_ce_config *config);
202
203/* Code generated by genparam/gencode.c:gen_set_function() */
204
205void
206ia_css_set_ecd_config(struct ia_css_isp_parameters *params,
207		      const struct ia_css_ecd_config *config);
208
209/* Code generated by genparam/gencode.c:gen_set_function() */
210
211void
212ia_css_set_ynr_config(struct ia_css_isp_parameters *params,
213		      const struct ia_css_ynr_config *config);
214
215/* Code generated by genparam/gencode.c:gen_set_function() */
216
217void
218ia_css_set_fc_config(struct ia_css_isp_parameters *params,
219		     const struct ia_css_fc_config *config);
220
221/* Code generated by genparam/gencode.c:gen_set_function() */
222
223void
224ia_css_set_cnr_config(struct ia_css_isp_parameters *params,
225		      const struct ia_css_cnr_config *config);
226
227/* Code generated by genparam/gencode.c:gen_set_function() */
228
229void
230ia_css_set_macc_config(struct ia_css_isp_parameters *params,
231		       const struct ia_css_macc_config *config);
232
233/* Code generated by genparam/gencode.c:gen_set_function() */
234
235void
236ia_css_set_ctc_config(struct ia_css_isp_parameters *params,
237		      const struct ia_css_ctc_config *config);
238
239/* Code generated by genparam/gencode.c:gen_set_function() */
240
241void
242ia_css_set_aa_config(struct ia_css_isp_parameters *params,
243		     const struct ia_css_aa_config *config);
244
245/* Code generated by genparam/gencode.c:gen_set_function() */
246
247void
248ia_css_set_yuv2rgb_config(struct ia_css_isp_parameters *params,
249			  const struct ia_css_cc_config *config);
250
251/* Code generated by genparam/gencode.c:gen_set_function() */
252
253void
254ia_css_set_rgb2yuv_config(struct ia_css_isp_parameters *params,
255			  const struct ia_css_cc_config *config);
256
257/* Code generated by genparam/gencode.c:gen_set_function() */
258
259void
260ia_css_set_csc_config(struct ia_css_isp_parameters *params,
261		      const struct ia_css_cc_config *config);
262
263/* Code generated by genparam/gencode.c:gen_set_function() */
264
265void
266ia_css_set_nr_config(struct ia_css_isp_parameters *params,
267		     const struct ia_css_nr_config *config);
268
269/* Code generated by genparam/gencode.c:gen_set_function() */
270
271void
272ia_css_set_gc_config(struct ia_css_isp_parameters *params,
273		     const struct ia_css_gc_config *config);
274
275/* Code generated by genparam/gencode.c:gen_set_function() */
276
277void
278ia_css_set_sdis_horicoef_config(struct ia_css_isp_parameters *params,
279				const struct ia_css_dvs_coefficients *config);
280
281/* Code generated by genparam/gencode.c:gen_set_function() */
282
283void
284ia_css_set_sdis_vertcoef_config(struct ia_css_isp_parameters *params,
285				const struct ia_css_dvs_coefficients *config);
286
287/* Code generated by genparam/gencode.c:gen_set_function() */
288
289void
290ia_css_set_sdis_horiproj_config(struct ia_css_isp_parameters *params,
291				const struct ia_css_dvs_coefficients *config);
292
293/* Code generated by genparam/gencode.c:gen_set_function() */
294
295void
296ia_css_set_sdis_vertproj_config(struct ia_css_isp_parameters *params,
297				const struct ia_css_dvs_coefficients *config);
298
299/* Code generated by genparam/gencode.c:gen_set_function() */
300
301void
302ia_css_set_sdis2_horicoef_config(struct ia_css_isp_parameters *params,
303				 const struct ia_css_dvs2_coefficients *config);
304
305/* Code generated by genparam/gencode.c:gen_set_function() */
306
307void
308ia_css_set_sdis2_vertcoef_config(struct ia_css_isp_parameters *params,
309				 const struct ia_css_dvs2_coefficients *config);
310
311/* Code generated by genparam/gencode.c:gen_set_function() */
312
313void
314ia_css_set_sdis2_horiproj_config(struct ia_css_isp_parameters *params,
315				 const struct ia_css_dvs2_coefficients *config);
316
317/* Code generated by genparam/gencode.c:gen_set_function() */
318
319void
320ia_css_set_sdis2_vertproj_config(struct ia_css_isp_parameters *params,
321				 const struct ia_css_dvs2_coefficients *config);
322
323/* Code generated by genparam/gencode.c:gen_set_function() */
324
325void
326ia_css_set_r_gamma_config(struct ia_css_isp_parameters *params,
327			  const struct ia_css_rgb_gamma_table *config);
328
329/* Code generated by genparam/gencode.c:gen_set_function() */
330
331void
332ia_css_set_g_gamma_config(struct ia_css_isp_parameters *params,
333			  const struct ia_css_rgb_gamma_table *config);
334
335/* Code generated by genparam/gencode.c:gen_set_function() */
336
337void
338ia_css_set_b_gamma_config(struct ia_css_isp_parameters *params,
339			  const struct ia_css_rgb_gamma_table *config);
340
341/* Code generated by genparam/gencode.c:gen_set_function() */
342
343void
344ia_css_set_xnr_table_config(struct ia_css_isp_parameters *params,
345			    const struct ia_css_xnr_table *config);
346
347/* Code generated by genparam/gencode.c:gen_set_function() */
348
349void
350ia_css_set_formats_config(struct ia_css_isp_parameters *params,
351			  const struct ia_css_formats_config *config);
352
353/* Code generated by genparam/gencode.c:gen_set_function() */
354
355void
356ia_css_set_xnr_config(struct ia_css_isp_parameters *params,
357		      const struct ia_css_xnr_config *config);
358
359/* Code generated by genparam/gencode.c:gen_set_function() */
360
361void
362ia_css_set_xnr3_config(struct ia_css_isp_parameters *params,
363		       const struct ia_css_xnr3_config *config);
364
365/* Code generated by genparam/gencode.c:gen_set_function() */
366
367void
368ia_css_set_s3a_config(struct ia_css_isp_parameters *params,
369		      const struct ia_css_3a_config *config);
370
371/* Code generated by genparam/gencode.c:gen_set_function() */
372
373void
374ia_css_set_output_config(struct ia_css_isp_parameters *params,
375			 const struct ia_css_output_config *config);
376
377/* Code generated by genparam/gencode.c:gen_global_access_function() */
378
379void
380ia_css_get_configs(struct ia_css_isp_parameters *params,
381		   const struct ia_css_isp_config *config)
382;
383
384/* Code generated by genparam/gencode.c:gen_global_access_function() */
385
386void
387ia_css_set_configs(struct ia_css_isp_parameters *params,
388		   const struct ia_css_isp_config *config)
389;
390
391#endif /* IA_CSS_INCLUDE_PARAMETER */
392#endif /* _IA_CSS_ISP_PARAM_H */
393