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