9fae24b3e689f58e5938cdf7aa440e33e371cce2
[linux.git] /
1 /*
2  * Support for Intel Camera Imaging ISP subsystem.
3  * Copyright (c) 2015, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  */
14
15 /* Generated code: do not edit or commmit. */
16
17 #define IA_CSS_INCLUDE_CONFIGURATIONS
18 #include "ia_css_pipeline.h"
19 #include "ia_css_isp_configs.h"
20 #include "ia_css_debug.h"
21 #include "assert_support.h"
22
23 /* Code generated by genparam/genconfig.c:gen_configure_function() */
24
25 void
26 ia_css_configure_iterator(
27     const struct ia_css_binary *binary,
28     const struct ia_css_iterator_configuration *config_dmem)
29 {
30         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
31                             "ia_css_configure_iterator() enter:\n");
32
33         {
34                 unsigned int offset = 0;
35                 unsigned int size   = 0;
36
37                 if (binary->info->mem_offsets.offsets.config) {
38                         size   = binary->info->mem_offsets.offsets.config->dmem.iterator.size;
39                         offset = binary->info->mem_offsets.offsets.config->dmem.iterator.offset;
40                 }
41                 if (size) {
42                         ia_css_iterator_config((struct sh_css_isp_iterator_isp_config *)
43                                                &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
44                                                config_dmem, size);
45                 }
46         }
47         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
48                             "ia_css_configure_iterator() leave:\n");
49 }
50
51 /* Code generated by genparam/genconfig.c:gen_configure_function() */
52
53 void
54 ia_css_configure_copy_output(
55     const struct ia_css_binary *binary,
56     const struct ia_css_copy_output_configuration *config_dmem)
57 {
58         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
59                             "ia_css_configure_copy_output() enter:\n");
60
61         {
62                 unsigned int offset = 0;
63                 unsigned int size   = 0;
64
65                 if (binary->info->mem_offsets.offsets.config) {
66                         size   = binary->info->mem_offsets.offsets.config->dmem.copy_output.size;
67                         offset = binary->info->mem_offsets.offsets.config->dmem.copy_output.offset;
68                 }
69                 if (size) {
70                         ia_css_copy_output_config((struct sh_css_isp_copy_output_isp_config *)
71                                                   &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
72                                                   config_dmem, size);
73                 }
74         }
75         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
76                             "ia_css_configure_copy_output() leave:\n");
77 }
78
79 /* Code generated by genparam/genconfig.c:gen_configure_function() */
80
81 void
82 ia_css_configure_crop(
83     const struct ia_css_binary *binary,
84     const struct ia_css_crop_configuration *config_dmem)
85 {
86         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
87                             "ia_css_configure_crop() enter:\n");
88
89         {
90                 unsigned int offset = 0;
91                 unsigned int size   = 0;
92
93                 if (binary->info->mem_offsets.offsets.config) {
94                         size   = binary->info->mem_offsets.offsets.config->dmem.crop.size;
95                         offset = binary->info->mem_offsets.offsets.config->dmem.crop.offset;
96                 }
97                 if (size) {
98                         ia_css_crop_config((struct sh_css_isp_crop_isp_config *)
99                                            &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
100                                            config_dmem, size);
101                 }
102         }
103         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
104                             "ia_css_configure_crop() leave:\n");
105 }
106
107 /* Code generated by genparam/genconfig.c:gen_configure_function() */
108
109 void
110 ia_css_configure_fpn(
111     const struct ia_css_binary *binary,
112     const struct ia_css_fpn_configuration *config_dmem)
113 {
114         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
115                             "ia_css_configure_fpn() enter:\n");
116
117         {
118                 unsigned int offset = 0;
119                 unsigned int size   = 0;
120
121                 if (binary->info->mem_offsets.offsets.config) {
122                         size   = binary->info->mem_offsets.offsets.config->dmem.fpn.size;
123                         offset = binary->info->mem_offsets.offsets.config->dmem.fpn.offset;
124                 }
125                 if (size) {
126                         ia_css_fpn_config((struct sh_css_isp_fpn_isp_config *)
127                                           &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
128                                           config_dmem, size);
129                 }
130         }
131         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
132                             "ia_css_configure_fpn() leave:\n");
133 }
134
135 /* Code generated by genparam/genconfig.c:gen_configure_function() */
136
137 void
138 ia_css_configure_dvs(
139     const struct ia_css_binary *binary,
140     const struct ia_css_dvs_configuration *config_dmem)
141 {
142         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
143                             "ia_css_configure_dvs() enter:\n");
144
145         {
146                 unsigned int offset = 0;
147                 unsigned int size   = 0;
148
149                 if (binary->info->mem_offsets.offsets.config) {
150                         size   = binary->info->mem_offsets.offsets.config->dmem.dvs.size;
151                         offset = binary->info->mem_offsets.offsets.config->dmem.dvs.offset;
152                 }
153                 if (size) {
154                         ia_css_dvs_config((struct sh_css_isp_dvs_isp_config *)
155                                           &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
156                                           config_dmem, size);
157                 }
158         }
159         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
160                             "ia_css_configure_dvs() leave:\n");
161 }
162
163 /* Code generated by genparam/genconfig.c:gen_configure_function() */
164
165 void
166 ia_css_configure_qplane(
167     const struct ia_css_binary *binary,
168     const struct ia_css_qplane_configuration *config_dmem)
169 {
170         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
171                             "ia_css_configure_qplane() enter:\n");
172
173         {
174                 unsigned int offset = 0;
175                 unsigned int size   = 0;
176
177                 if (binary->info->mem_offsets.offsets.config) {
178                         size   = binary->info->mem_offsets.offsets.config->dmem.qplane.size;
179                         offset = binary->info->mem_offsets.offsets.config->dmem.qplane.offset;
180                 }
181                 if (size) {
182                         ia_css_qplane_config((struct sh_css_isp_qplane_isp_config *)
183                                              &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
184                                              config_dmem, size);
185                 }
186         }
187         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
188                             "ia_css_configure_qplane() leave:\n");
189 }
190
191 /* Code generated by genparam/genconfig.c:gen_configure_function() */
192
193 void
194 ia_css_configure_output0(
195     const struct ia_css_binary *binary,
196     const struct ia_css_output0_configuration *config_dmem)
197 {
198         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
199                             "ia_css_configure_output0() enter:\n");
200
201         {
202                 unsigned int offset = 0;
203                 unsigned int size   = 0;
204
205                 if (binary->info->mem_offsets.offsets.config) {
206                         size   = binary->info->mem_offsets.offsets.config->dmem.output0.size;
207                         offset = binary->info->mem_offsets.offsets.config->dmem.output0.offset;
208                 }
209                 if (size) {
210                         ia_css_output0_config((struct sh_css_isp_output_isp_config *)
211                                               &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
212                                               config_dmem, size);
213                 }
214         }
215         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
216                             "ia_css_configure_output0() leave:\n");
217 }
218
219 /* Code generated by genparam/genconfig.c:gen_configure_function() */
220
221 void
222 ia_css_configure_output1(
223     const struct ia_css_binary *binary,
224     const struct ia_css_output1_configuration *config_dmem)
225 {
226         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
227                             "ia_css_configure_output1() enter:\n");
228
229         {
230                 unsigned int offset = 0;
231                 unsigned int size   = 0;
232
233                 if (binary->info->mem_offsets.offsets.config) {
234                         size   = binary->info->mem_offsets.offsets.config->dmem.output1.size;
235                         offset = binary->info->mem_offsets.offsets.config->dmem.output1.offset;
236                 }
237                 if (size) {
238                         ia_css_output1_config((struct sh_css_isp_output_isp_config *)
239                                               &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
240                                               config_dmem, size);
241                 }
242         }
243         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
244                             "ia_css_configure_output1() leave:\n");
245 }
246
247 /* Code generated by genparam/genconfig.c:gen_configure_function() */
248
249 void
250 ia_css_configure_output(
251     const struct ia_css_binary *binary,
252     const struct ia_css_output_configuration *config_dmem)
253 {
254         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
255                             "ia_css_configure_output() enter:\n");
256
257         {
258                 unsigned int offset = 0;
259                 unsigned int size   = 0;
260
261                 if (binary->info->mem_offsets.offsets.config) {
262                         size   = binary->info->mem_offsets.offsets.config->dmem.output.size;
263                         offset = binary->info->mem_offsets.offsets.config->dmem.output.offset;
264                 }
265                 if (size) {
266                         ia_css_output_config((struct sh_css_isp_output_isp_config *)
267                                              &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
268                                              config_dmem, size);
269                 }
270         }
271         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
272                             "ia_css_configure_output() leave:\n");
273 }
274
275 /* Code generated by genparam/genconfig.c:gen_configure_function() */
276 #ifdef ISP2401
277
278 void
279 ia_css_configure_sc(
280     const struct ia_css_binary *binary,
281     const struct ia_css_sc_configuration *config_dmem)
282 {
283         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
284                             "ia_css_configure_sc() enter:\n");
285
286         {
287                 unsigned int offset = 0;
288                 unsigned int size   = 0;
289
290                 if (binary->info->mem_offsets.offsets.config) {
291                         size   = binary->info->mem_offsets.offsets.config->dmem.sc.size;
292                         offset = binary->info->mem_offsets.offsets.config->dmem.sc.offset;
293                 }
294                 if (size) {
295                         ia_css_sc_config((struct sh_css_isp_sc_isp_config *)
296                                          &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
297                                          config_dmem, size);
298                 }
299         }
300         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
301                             "ia_css_configure_sc() leave:\n");
302 }
303
304 /* Code generated by genparam/genconfig.c:gen_configure_function() */
305 #endif
306
307 void
308 ia_css_configure_raw(
309     const struct ia_css_binary *binary,
310     const struct ia_css_raw_configuration *config_dmem)
311 {
312         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
313                             "ia_css_configure_raw() enter:\n");
314
315         {
316                 unsigned int offset = 0;
317                 unsigned int size   = 0;
318
319                 if (binary->info->mem_offsets.offsets.config) {
320                         size   = binary->info->mem_offsets.offsets.config->dmem.raw.size;
321                         offset = binary->info->mem_offsets.offsets.config->dmem.raw.offset;
322                 }
323                 if (size) {
324                         ia_css_raw_config((struct sh_css_isp_raw_isp_config *)
325                                           &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
326                                           config_dmem, size);
327                 }
328         }
329         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
330                             "ia_css_configure_raw() leave:\n");
331 }
332
333 /* Code generated by genparam/genconfig.c:gen_configure_function() */
334
335 void
336 ia_css_configure_tnr(
337     const struct ia_css_binary *binary,
338     const struct ia_css_tnr_configuration *config_dmem)
339 {
340         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
341                             "ia_css_configure_tnr() enter:\n");
342
343         {
344                 unsigned int offset = 0;
345                 unsigned int size   = 0;
346
347                 if (binary->info->mem_offsets.offsets.config) {
348                         size   = binary->info->mem_offsets.offsets.config->dmem.tnr.size;
349                         offset = binary->info->mem_offsets.offsets.config->dmem.tnr.offset;
350                 }
351                 if (size) {
352                         ia_css_tnr_config((struct sh_css_isp_tnr_isp_config *)
353                                           &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
354                                           config_dmem, size);
355                 }
356         }
357         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
358                             "ia_css_configure_tnr() leave:\n");
359 }
360
361 /* Code generated by genparam/genconfig.c:gen_configure_function() */
362
363 void
364 ia_css_configure_ref(
365     const struct ia_css_binary *binary,
366     const struct ia_css_ref_configuration *config_dmem)
367 {
368         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
369                             "ia_css_configure_ref() enter:\n");
370
371         {
372                 unsigned int offset = 0;
373                 unsigned int size   = 0;
374
375                 if (binary->info->mem_offsets.offsets.config) {
376                         size   = binary->info->mem_offsets.offsets.config->dmem.ref.size;
377                         offset = binary->info->mem_offsets.offsets.config->dmem.ref.offset;
378                 }
379                 if (size) {
380                         ia_css_ref_config((struct sh_css_isp_ref_isp_config *)
381                                           &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
382                                           config_dmem, size);
383                 }
384         }
385         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
386                             "ia_css_configure_ref() leave:\n");
387 }
388
389 /* Code generated by genparam/genconfig.c:gen_configure_function() */
390
391 void
392 ia_css_configure_vf(
393     const struct ia_css_binary *binary,
394     const struct ia_css_vf_configuration *config_dmem)
395 {
396         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
397                             "ia_css_configure_vf() enter:\n");
398
399         {
400                 unsigned int offset = 0;
401                 unsigned int size   = 0;
402
403                 if (binary->info->mem_offsets.offsets.config) {
404                         size   = binary->info->mem_offsets.offsets.config->dmem.vf.size;
405                         offset = binary->info->mem_offsets.offsets.config->dmem.vf.offset;
406                 }
407                 if (size) {
408                         ia_css_vf_config((struct sh_css_isp_vf_isp_config *)
409                                          &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
410                                          config_dmem, size);
411                 }
412         }
413         ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
414                             "ia_css_configure_vf() leave:\n");
415 }