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 
23 enum 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 
75 struct 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 
125 		/* ISP2401 */
126 		struct ia_css_isp_parameter xnr3;
127 	} vmem;
128 	struct {
129 		struct ia_css_isp_parameter bh;
130 	} hmem0;
131 	struct {
132 		struct ia_css_isp_parameter gc;
133 		struct ia_css_isp_parameter g_gamma;
134 		struct ia_css_isp_parameter xnr_table;
135 	} vamem1;
136 	struct {
137 		struct ia_css_isp_parameter r_gamma;
138 		struct ia_css_isp_parameter ctc;
139 	} vamem0;
140 	struct {
141 		struct ia_css_isp_parameter b_gamma;
142 	} vamem2;
143 };
144 
145 #if defined(IA_CSS_INCLUDE_PARAMETERS)
146 
147 #include "ia_css_stream.h"   /* struct ia_css_stream */
148 #include "ia_css_binary.h"   /* struct ia_css_binary */
149 /* Code generated by genparam/gencode.c:gen_param_process_table() */
150 
151 struct ia_css_pipeline_stage; /* forward declaration */
152 
153 extern void (*ia_css_kernel_process_param[IA_CSS_NUM_PARAMETER_IDS])(
154     unsigned int pipe_id,
155     const struct ia_css_pipeline_stage *stage,
156     struct ia_css_isp_parameters *params);
157 
158 /* Code generated by genparam/gencode.c:gen_set_function() */
159 
160 void
161 ia_css_set_dp_config(struct ia_css_isp_parameters *params,
162 		     const struct ia_css_dp_config *config);
163 
164 /* Code generated by genparam/gencode.c:gen_set_function() */
165 
166 void
167 ia_css_set_wb_config(struct ia_css_isp_parameters *params,
168 		     const struct ia_css_wb_config *config);
169 
170 /* Code generated by genparam/gencode.c:gen_set_function() */
171 
172 void
173 ia_css_set_tnr_config(struct ia_css_isp_parameters *params,
174 		      const struct ia_css_tnr_config *config);
175 
176 /* Code generated by genparam/gencode.c:gen_set_function() */
177 
178 void
179 ia_css_set_ob_config(struct ia_css_isp_parameters *params,
180 		     const struct ia_css_ob_config *config);
181 
182 /* Code generated by genparam/gencode.c:gen_set_function() */
183 
184 void
185 ia_css_set_de_config(struct ia_css_isp_parameters *params,
186 		     const struct ia_css_de_config *config);
187 
188 /* Code generated by genparam/gencode.c:gen_set_function() */
189 
190 void
191 ia_css_set_anr_config(struct ia_css_isp_parameters *params,
192 		      const struct ia_css_anr_config *config);
193 
194 /* Code generated by genparam/gencode.c:gen_set_function() */
195 
196 void
197 ia_css_set_anr2_config(struct ia_css_isp_parameters *params,
198 		       const struct ia_css_anr_thres *config);
199 
200 /* Code generated by genparam/gencode.c:gen_set_function() */
201 
202 void
203 ia_css_set_ce_config(struct ia_css_isp_parameters *params,
204 		     const struct ia_css_ce_config *config);
205 
206 /* Code generated by genparam/gencode.c:gen_set_function() */
207 
208 void
209 ia_css_set_ecd_config(struct ia_css_isp_parameters *params,
210 		      const struct ia_css_ecd_config *config);
211 
212 /* Code generated by genparam/gencode.c:gen_set_function() */
213 
214 void
215 ia_css_set_ynr_config(struct ia_css_isp_parameters *params,
216 		      const struct ia_css_ynr_config *config);
217 
218 /* Code generated by genparam/gencode.c:gen_set_function() */
219 
220 void
221 ia_css_set_fc_config(struct ia_css_isp_parameters *params,
222 		     const struct ia_css_fc_config *config);
223 
224 /* Code generated by genparam/gencode.c:gen_set_function() */
225 
226 void
227 ia_css_set_cnr_config(struct ia_css_isp_parameters *params,
228 		      const struct ia_css_cnr_config *config);
229 
230 /* Code generated by genparam/gencode.c:gen_set_function() */
231 
232 void
233 ia_css_set_macc_config(struct ia_css_isp_parameters *params,
234 		       const struct ia_css_macc_config *config);
235 
236 /* Code generated by genparam/gencode.c:gen_set_function() */
237 
238 void
239 ia_css_set_ctc_config(struct ia_css_isp_parameters *params,
240 		      const struct ia_css_ctc_config *config);
241 
242 /* Code generated by genparam/gencode.c:gen_set_function() */
243 
244 void
245 ia_css_set_aa_config(struct ia_css_isp_parameters *params,
246 		     const struct ia_css_aa_config *config);
247 
248 /* Code generated by genparam/gencode.c:gen_set_function() */
249 
250 void
251 ia_css_set_yuv2rgb_config(struct ia_css_isp_parameters *params,
252 			  const struct ia_css_cc_config *config);
253 
254 /* Code generated by genparam/gencode.c:gen_set_function() */
255 
256 void
257 ia_css_set_rgb2yuv_config(struct ia_css_isp_parameters *params,
258 			  const struct ia_css_cc_config *config);
259 
260 /* Code generated by genparam/gencode.c:gen_set_function() */
261 
262 void
263 ia_css_set_csc_config(struct ia_css_isp_parameters *params,
264 		      const struct ia_css_cc_config *config);
265 
266 /* Code generated by genparam/gencode.c:gen_set_function() */
267 
268 void
269 ia_css_set_nr_config(struct ia_css_isp_parameters *params,
270 		     const struct ia_css_nr_config *config);
271 
272 /* Code generated by genparam/gencode.c:gen_set_function() */
273 
274 void
275 ia_css_set_gc_config(struct ia_css_isp_parameters *params,
276 		     const struct ia_css_gc_config *config);
277 
278 /* Code generated by genparam/gencode.c:gen_set_function() */
279 
280 void
281 ia_css_set_sdis_horicoef_config(struct ia_css_isp_parameters *params,
282 				const struct ia_css_dvs_coefficients *config);
283 
284 /* Code generated by genparam/gencode.c:gen_set_function() */
285 
286 void
287 ia_css_set_sdis_vertcoef_config(struct ia_css_isp_parameters *params,
288 				const struct ia_css_dvs_coefficients *config);
289 
290 /* Code generated by genparam/gencode.c:gen_set_function() */
291 
292 void
293 ia_css_set_sdis_horiproj_config(struct ia_css_isp_parameters *params,
294 				const struct ia_css_dvs_coefficients *config);
295 
296 /* Code generated by genparam/gencode.c:gen_set_function() */
297 
298 void
299 ia_css_set_sdis_vertproj_config(struct ia_css_isp_parameters *params,
300 				const struct ia_css_dvs_coefficients *config);
301 
302 /* Code generated by genparam/gencode.c:gen_set_function() */
303 
304 void
305 ia_css_set_sdis2_horicoef_config(struct ia_css_isp_parameters *params,
306 				 const struct ia_css_dvs2_coefficients *config);
307 
308 /* Code generated by genparam/gencode.c:gen_set_function() */
309 
310 void
311 ia_css_set_sdis2_vertcoef_config(struct ia_css_isp_parameters *params,
312 				 const struct ia_css_dvs2_coefficients *config);
313 
314 /* Code generated by genparam/gencode.c:gen_set_function() */
315 
316 void
317 ia_css_set_sdis2_horiproj_config(struct ia_css_isp_parameters *params,
318 				 const struct ia_css_dvs2_coefficients *config);
319 
320 /* Code generated by genparam/gencode.c:gen_set_function() */
321 
322 void
323 ia_css_set_sdis2_vertproj_config(struct ia_css_isp_parameters *params,
324 				 const struct ia_css_dvs2_coefficients *config);
325 
326 /* Code generated by genparam/gencode.c:gen_set_function() */
327 
328 void
329 ia_css_set_r_gamma_config(struct ia_css_isp_parameters *params,
330 			  const struct ia_css_rgb_gamma_table *config);
331 
332 /* Code generated by genparam/gencode.c:gen_set_function() */
333 
334 void
335 ia_css_set_g_gamma_config(struct ia_css_isp_parameters *params,
336 			  const struct ia_css_rgb_gamma_table *config);
337 
338 /* Code generated by genparam/gencode.c:gen_set_function() */
339 
340 void
341 ia_css_set_b_gamma_config(struct ia_css_isp_parameters *params,
342 			  const struct ia_css_rgb_gamma_table *config);
343 
344 /* Code generated by genparam/gencode.c:gen_set_function() */
345 
346 void
347 ia_css_set_xnr_table_config(struct ia_css_isp_parameters *params,
348 			    const struct ia_css_xnr_table *config);
349 
350 /* Code generated by genparam/gencode.c:gen_set_function() */
351 
352 void
353 ia_css_set_formats_config(struct ia_css_isp_parameters *params,
354 			  const struct ia_css_formats_config *config);
355 
356 /* Code generated by genparam/gencode.c:gen_set_function() */
357 
358 void
359 ia_css_set_xnr_config(struct ia_css_isp_parameters *params,
360 		      const struct ia_css_xnr_config *config);
361 
362 /* Code generated by genparam/gencode.c:gen_set_function() */
363 
364 void
365 ia_css_set_xnr3_config(struct ia_css_isp_parameters *params,
366 		       const struct ia_css_xnr3_config *config);
367 
368 /* Code generated by genparam/gencode.c:gen_set_function() */
369 
370 void
371 ia_css_set_s3a_config(struct ia_css_isp_parameters *params,
372 		      const struct ia_css_3a_config *config);
373 
374 /* Code generated by genparam/gencode.c:gen_set_function() */
375 
376 void
377 ia_css_set_output_config(struct ia_css_isp_parameters *params,
378 			 const struct ia_css_output_config *config);
379 
380 /* Code generated by genparam/gencode.c:gen_global_access_function() */
381 
382 void
383 ia_css_get_configs(struct ia_css_isp_parameters *params,
384 		   const struct ia_css_isp_config *config)
385 ;
386 
387 /* Code generated by genparam/gencode.c:gen_global_access_function() */
388 
389 void
390 ia_css_set_configs(struct ia_css_isp_parameters *params,
391 		   const struct ia_css_isp_config *config)
392 ;
393 
394 #endif /* IA_CSS_INCLUDE_PARAMETER */
395 #endif /* _IA_CSS_ISP_PARAM_H */
396