1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#ifndef _IA_CSS_ISP_PARAM_H
19#define _IA_CSS_ISP_PARAM_H
20
21
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
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"
145#include "ia_css_binary.h"
146
147
148struct ia_css_pipeline_stage;
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
156
157void
158ia_css_set_dp_config(struct ia_css_isp_parameters *params,
159 const struct ia_css_dp_config *config);
160
161
162
163void
164ia_css_set_wb_config(struct ia_css_isp_parameters *params,
165 const struct ia_css_wb_config *config);
166
167
168
169void
170ia_css_set_tnr_config(struct ia_css_isp_parameters *params,
171 const struct ia_css_tnr_config *config);
172
173
174
175void
176ia_css_set_ob_config(struct ia_css_isp_parameters *params,
177 const struct ia_css_ob_config *config);
178
179
180
181void
182ia_css_set_de_config(struct ia_css_isp_parameters *params,
183 const struct ia_css_de_config *config);
184
185
186
187void
188ia_css_set_anr_config(struct ia_css_isp_parameters *params,
189 const struct ia_css_anr_config *config);
190
191
192
193void
194ia_css_set_anr2_config(struct ia_css_isp_parameters *params,
195 const struct ia_css_anr_thres *config);
196
197
198
199void
200ia_css_set_ce_config(struct ia_css_isp_parameters *params,
201 const struct ia_css_ce_config *config);
202
203
204
205void
206ia_css_set_ecd_config(struct ia_css_isp_parameters *params,
207 const struct ia_css_ecd_config *config);
208
209
210
211void
212ia_css_set_ynr_config(struct ia_css_isp_parameters *params,
213 const struct ia_css_ynr_config *config);
214
215
216
217void
218ia_css_set_fc_config(struct ia_css_isp_parameters *params,
219 const struct ia_css_fc_config *config);
220
221
222
223void
224ia_css_set_cnr_config(struct ia_css_isp_parameters *params,
225 const struct ia_css_cnr_config *config);
226
227
228
229void
230ia_css_set_macc_config(struct ia_css_isp_parameters *params,
231 const struct ia_css_macc_config *config);
232
233
234
235void
236ia_css_set_ctc_config(struct ia_css_isp_parameters *params,
237 const struct ia_css_ctc_config *config);
238
239
240
241void
242ia_css_set_aa_config(struct ia_css_isp_parameters *params,
243 const struct ia_css_aa_config *config);
244
245
246
247void
248ia_css_set_yuv2rgb_config(struct ia_css_isp_parameters *params,
249 const struct ia_css_cc_config *config);
250
251
252
253void
254ia_css_set_rgb2yuv_config(struct ia_css_isp_parameters *params,
255 const struct ia_css_cc_config *config);
256
257
258
259void
260ia_css_set_csc_config(struct ia_css_isp_parameters *params,
261 const struct ia_css_cc_config *config);
262
263
264
265void
266ia_css_set_nr_config(struct ia_css_isp_parameters *params,
267 const struct ia_css_nr_config *config);
268
269
270
271void
272ia_css_set_gc_config(struct ia_css_isp_parameters *params,
273 const struct ia_css_gc_config *config);
274
275
276
277void
278ia_css_set_sdis_horicoef_config(struct ia_css_isp_parameters *params,
279 const struct ia_css_dvs_coefficients *config);
280
281
282
283void
284ia_css_set_sdis_vertcoef_config(struct ia_css_isp_parameters *params,
285 const struct ia_css_dvs_coefficients *config);
286
287
288
289void
290ia_css_set_sdis_horiproj_config(struct ia_css_isp_parameters *params,
291 const struct ia_css_dvs_coefficients *config);
292
293
294
295void
296ia_css_set_sdis_vertproj_config(struct ia_css_isp_parameters *params,
297 const struct ia_css_dvs_coefficients *config);
298
299
300
301void
302ia_css_set_sdis2_horicoef_config(struct ia_css_isp_parameters *params,
303 const struct ia_css_dvs2_coefficients *config);
304
305
306
307void
308ia_css_set_sdis2_vertcoef_config(struct ia_css_isp_parameters *params,
309 const struct ia_css_dvs2_coefficients *config);
310
311
312
313void
314ia_css_set_sdis2_horiproj_config(struct ia_css_isp_parameters *params,
315 const struct ia_css_dvs2_coefficients *config);
316
317
318
319void
320ia_css_set_sdis2_vertproj_config(struct ia_css_isp_parameters *params,
321 const struct ia_css_dvs2_coefficients *config);
322
323
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
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
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
342
343void
344ia_css_set_xnr_table_config(struct ia_css_isp_parameters *params,
345 const struct ia_css_xnr_table *config);
346
347
348
349void
350ia_css_set_formats_config(struct ia_css_isp_parameters *params,
351 const struct ia_css_formats_config *config);
352
353
354
355void
356ia_css_set_xnr_config(struct ia_css_isp_parameters *params,
357 const struct ia_css_xnr_config *config);
358
359
360
361void
362ia_css_set_xnr3_config(struct ia_css_isp_parameters *params,
363 const struct ia_css_xnr3_config *config);
364
365
366
367void
368ia_css_set_s3a_config(struct ia_css_isp_parameters *params,
369 const struct ia_css_3a_config *config);
370
371
372
373void
374ia_css_set_output_config(struct ia_css_isp_parameters *params,
375 const struct ia_css_output_config *config);
376
377
378
379void
380ia_css_get_configs(struct ia_css_isp_parameters *params,
381 const struct ia_css_isp_config *config)
382;
383
384
385
386void
387ia_css_set_configs(struct ia_css_isp_parameters *params,
388 const struct ia_css_isp_config *config)
389;
390
391#endif
392#endif
393