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 #define IA_CSS_INCLUDE_CONFIGURATIONS
19 #include "ia_css_pipeline.h"
20 #include "ia_css_isp_configs.h"
21 #include "ia_css_debug.h"
22 #include "assert_support.h"
23 
24 /* Code generated by genparam/genconfig.c:gen_configure_function() */
25 
26 void
ia_css_configure_iterator(const struct ia_css_binary * binary,const struct ia_css_iterator_configuration * config_dmem)27 ia_css_configure_iterator(
28     const struct ia_css_binary *binary,
29     const struct ia_css_iterator_configuration *config_dmem)
30 {
31 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
32 			    "ia_css_configure_iterator() enter:\n");
33 
34 	{
35 		unsigned int offset = 0;
36 		unsigned int size   = 0;
37 
38 		if (binary->info->mem_offsets.offsets.config) {
39 			size   = binary->info->mem_offsets.offsets.config->dmem.iterator.size;
40 			offset = binary->info->mem_offsets.offsets.config->dmem.iterator.offset;
41 		}
42 		if (size) {
43 			ia_css_iterator_config((struct sh_css_isp_iterator_isp_config *)
44 					       &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
45 					       config_dmem, size);
46 		}
47 	}
48 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
49 			    "ia_css_configure_iterator() leave:\n");
50 }
51 
52 /* Code generated by genparam/genconfig.c:gen_configure_function() */
53 
54 void
ia_css_configure_copy_output(const struct ia_css_binary * binary,const struct ia_css_copy_output_configuration * config_dmem)55 ia_css_configure_copy_output(
56     const struct ia_css_binary *binary,
57     const struct ia_css_copy_output_configuration *config_dmem)
58 {
59 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
60 			    "ia_css_configure_copy_output() enter:\n");
61 
62 	{
63 		unsigned int offset = 0;
64 		unsigned int size   = 0;
65 
66 		if (binary->info->mem_offsets.offsets.config) {
67 			size   = binary->info->mem_offsets.offsets.config->dmem.copy_output.size;
68 			offset = binary->info->mem_offsets.offsets.config->dmem.copy_output.offset;
69 		}
70 		if (size) {
71 			ia_css_copy_output_config((struct sh_css_isp_copy_output_isp_config *)
72 						  &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
73 						  config_dmem, size);
74 		}
75 	}
76 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
77 			    "ia_css_configure_copy_output() leave:\n");
78 }
79 
80 /* Code generated by genparam/genconfig.c:gen_configure_function() */
81 
82 void
ia_css_configure_crop(const struct ia_css_binary * binary,const struct ia_css_crop_configuration * config_dmem)83 ia_css_configure_crop(
84     const struct ia_css_binary *binary,
85     const struct ia_css_crop_configuration *config_dmem)
86 {
87 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
88 			    "ia_css_configure_crop() enter:\n");
89 
90 	{
91 		unsigned int offset = 0;
92 		unsigned int size   = 0;
93 
94 		if (binary->info->mem_offsets.offsets.config) {
95 			size   = binary->info->mem_offsets.offsets.config->dmem.crop.size;
96 			offset = binary->info->mem_offsets.offsets.config->dmem.crop.offset;
97 		}
98 		if (size) {
99 			ia_css_crop_config((struct sh_css_isp_crop_isp_config *)
100 					   &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
101 					   config_dmem, size);
102 		}
103 	}
104 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
105 			    "ia_css_configure_crop() leave:\n");
106 }
107 
108 /* Code generated by genparam/genconfig.c:gen_configure_function() */
109 
110 void
ia_css_configure_fpn(const struct ia_css_binary * binary,const struct ia_css_fpn_configuration * config_dmem)111 ia_css_configure_fpn(
112     const struct ia_css_binary *binary,
113     const struct ia_css_fpn_configuration *config_dmem)
114 {
115 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
116 			    "ia_css_configure_fpn() enter:\n");
117 
118 	{
119 		unsigned int offset = 0;
120 		unsigned int size   = 0;
121 
122 		if (binary->info->mem_offsets.offsets.config) {
123 			size   = binary->info->mem_offsets.offsets.config->dmem.fpn.size;
124 			offset = binary->info->mem_offsets.offsets.config->dmem.fpn.offset;
125 		}
126 		if (size) {
127 			ia_css_fpn_config((struct sh_css_isp_fpn_isp_config *)
128 					  &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
129 					  config_dmem, size);
130 		}
131 	}
132 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
133 			    "ia_css_configure_fpn() leave:\n");
134 }
135 
136 /* Code generated by genparam/genconfig.c:gen_configure_function() */
137 
138 void
ia_css_configure_dvs(const struct ia_css_binary * binary,const struct ia_css_dvs_configuration * config_dmem)139 ia_css_configure_dvs(
140     const struct ia_css_binary *binary,
141     const struct ia_css_dvs_configuration *config_dmem)
142 {
143 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
144 			    "ia_css_configure_dvs() enter:\n");
145 
146 	{
147 		unsigned int offset = 0;
148 		unsigned int size   = 0;
149 
150 		if (binary->info->mem_offsets.offsets.config) {
151 			size   = binary->info->mem_offsets.offsets.config->dmem.dvs.size;
152 			offset = binary->info->mem_offsets.offsets.config->dmem.dvs.offset;
153 		}
154 		if (size) {
155 			ia_css_dvs_config((struct sh_css_isp_dvs_isp_config *)
156 					  &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
157 					  config_dmem, size);
158 		}
159 	}
160 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
161 			    "ia_css_configure_dvs() leave:\n");
162 }
163 
164 /* Code generated by genparam/genconfig.c:gen_configure_function() */
165 
166 void
ia_css_configure_qplane(const struct ia_css_binary * binary,const struct ia_css_qplane_configuration * config_dmem)167 ia_css_configure_qplane(
168     const struct ia_css_binary *binary,
169     const struct ia_css_qplane_configuration *config_dmem)
170 {
171 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
172 			    "ia_css_configure_qplane() enter:\n");
173 
174 	{
175 		unsigned int offset = 0;
176 		unsigned int size   = 0;
177 
178 		if (binary->info->mem_offsets.offsets.config) {
179 			size   = binary->info->mem_offsets.offsets.config->dmem.qplane.size;
180 			offset = binary->info->mem_offsets.offsets.config->dmem.qplane.offset;
181 		}
182 		if (size) {
183 			ia_css_qplane_config((struct sh_css_isp_qplane_isp_config *)
184 					     &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
185 					     config_dmem, size);
186 		}
187 	}
188 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
189 			    "ia_css_configure_qplane() leave:\n");
190 }
191 
192 /* Code generated by genparam/genconfig.c:gen_configure_function() */
193 
194 void
ia_css_configure_output0(const struct ia_css_binary * binary,const struct ia_css_output0_configuration * config_dmem)195 ia_css_configure_output0(
196     const struct ia_css_binary *binary,
197     const struct ia_css_output0_configuration *config_dmem)
198 {
199 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
200 			    "ia_css_configure_output0() enter:\n");
201 
202 	{
203 		unsigned int offset = 0;
204 		unsigned int size   = 0;
205 
206 		if (binary->info->mem_offsets.offsets.config) {
207 			size   = binary->info->mem_offsets.offsets.config->dmem.output0.size;
208 			offset = binary->info->mem_offsets.offsets.config->dmem.output0.offset;
209 		}
210 		if (size) {
211 			ia_css_output0_config((struct sh_css_isp_output_isp_config *)
212 					      &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
213 					      config_dmem, size);
214 		}
215 	}
216 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
217 			    "ia_css_configure_output0() leave:\n");
218 }
219 
220 /* Code generated by genparam/genconfig.c:gen_configure_function() */
221 
222 void
ia_css_configure_output1(const struct ia_css_binary * binary,const struct ia_css_output1_configuration * config_dmem)223 ia_css_configure_output1(
224     const struct ia_css_binary *binary,
225     const struct ia_css_output1_configuration *config_dmem)
226 {
227 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
228 			    "ia_css_configure_output1() enter:\n");
229 
230 	{
231 		unsigned int offset = 0;
232 		unsigned int size   = 0;
233 
234 		if (binary->info->mem_offsets.offsets.config) {
235 			size   = binary->info->mem_offsets.offsets.config->dmem.output1.size;
236 			offset = binary->info->mem_offsets.offsets.config->dmem.output1.offset;
237 		}
238 		if (size) {
239 			ia_css_output1_config((struct sh_css_isp_output_isp_config *)
240 					      &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
241 					      config_dmem, size);
242 		}
243 	}
244 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
245 			    "ia_css_configure_output1() leave:\n");
246 }
247 
248 /* Code generated by genparam/genconfig.c:gen_configure_function() */
249 
250 void
ia_css_configure_output(const struct ia_css_binary * binary,const struct ia_css_output_configuration * config_dmem)251 ia_css_configure_output(
252     const struct ia_css_binary *binary,
253     const struct ia_css_output_configuration *config_dmem)
254 {
255 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
256 			    "ia_css_configure_output() enter:\n");
257 
258 	{
259 		unsigned int offset = 0;
260 		unsigned int size   = 0;
261 
262 		if (binary->info->mem_offsets.offsets.config) {
263 			size   = binary->info->mem_offsets.offsets.config->dmem.output.size;
264 			offset = binary->info->mem_offsets.offsets.config->dmem.output.offset;
265 		}
266 		if (size) {
267 			ia_css_output_config((struct sh_css_isp_output_isp_config *)
268 					     &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
269 					     config_dmem, size);
270 		}
271 	}
272 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
273 			    "ia_css_configure_output() leave:\n");
274 }
275 
276 /* Code generated by genparam/genconfig.c:gen_configure_function() */
277 
278 void
ia_css_configure_raw(const struct ia_css_binary * binary,const struct ia_css_raw_configuration * config_dmem)279 ia_css_configure_raw(
280     const struct ia_css_binary *binary,
281     const struct ia_css_raw_configuration *config_dmem)
282 {
283 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
284 			    "ia_css_configure_raw() 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.raw.size;
292 			offset = binary->info->mem_offsets.offsets.config->dmem.raw.offset;
293 		}
294 		if (size) {
295 			ia_css_raw_config((struct sh_css_isp_raw_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_raw() leave:\n");
302 }
303 
304 /* Code generated by genparam/genconfig.c:gen_configure_function() */
305 
306 void
ia_css_configure_tnr(const struct ia_css_binary * binary,const struct ia_css_tnr_configuration * config_dmem)307 ia_css_configure_tnr(
308     const struct ia_css_binary *binary,
309     const struct ia_css_tnr_configuration *config_dmem)
310 {
311 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
312 			    "ia_css_configure_tnr() enter:\n");
313 
314 	{
315 		unsigned int offset = 0;
316 		unsigned int size   = 0;
317 
318 		if (binary->info->mem_offsets.offsets.config) {
319 			size   = binary->info->mem_offsets.offsets.config->dmem.tnr.size;
320 			offset = binary->info->mem_offsets.offsets.config->dmem.tnr.offset;
321 		}
322 		if (size) {
323 			ia_css_tnr_config((struct sh_css_isp_tnr_isp_config *)
324 					  &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
325 					  config_dmem, size);
326 		}
327 	}
328 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
329 			    "ia_css_configure_tnr() leave:\n");
330 }
331 
332 /* Code generated by genparam/genconfig.c:gen_configure_function() */
333 
334 void
ia_css_configure_ref(const struct ia_css_binary * binary,const struct ia_css_ref_configuration * config_dmem)335 ia_css_configure_ref(
336     const struct ia_css_binary *binary,
337     const struct ia_css_ref_configuration *config_dmem)
338 {
339 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
340 			    "ia_css_configure_ref() enter:\n");
341 
342 	{
343 		unsigned int offset = 0;
344 		unsigned int size   = 0;
345 
346 		if (binary->info->mem_offsets.offsets.config) {
347 			size   = binary->info->mem_offsets.offsets.config->dmem.ref.size;
348 			offset = binary->info->mem_offsets.offsets.config->dmem.ref.offset;
349 		}
350 		if (size) {
351 			ia_css_ref_config((struct sh_css_isp_ref_isp_config *)
352 					  &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
353 					  config_dmem, size);
354 		}
355 	}
356 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
357 			    "ia_css_configure_ref() leave:\n");
358 }
359 
360 /* Code generated by genparam/genconfig.c:gen_configure_function() */
361 
362 void
ia_css_configure_vf(const struct ia_css_binary * binary,const struct ia_css_vf_configuration * config_dmem)363 ia_css_configure_vf(
364     const struct ia_css_binary *binary,
365     const struct ia_css_vf_configuration *config_dmem)
366 {
367 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
368 			    "ia_css_configure_vf() enter:\n");
369 
370 	{
371 		unsigned int offset = 0;
372 		unsigned int size   = 0;
373 
374 		if (binary->info->mem_offsets.offsets.config) {
375 			size   = binary->info->mem_offsets.offsets.config->dmem.vf.size;
376 			offset = binary->info->mem_offsets.offsets.config->dmem.vf.offset;
377 		}
378 		if (size) {
379 			ia_css_vf_config((struct sh_css_isp_vf_isp_config *)
380 					 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
381 					 config_dmem, size);
382 		}
383 	}
384 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
385 			    "ia_css_configure_vf() leave:\n");
386 }
387