1 // SPDX-License-Identifier: GPL-2.0
2 /*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2015, Intel Corporation.
5 */
6
7 /* Generated code: do not edit or commmit. */
8
9 #define IA_CSS_INCLUDE_CONFIGURATIONS
10 #include "ia_css_pipeline.h"
11 #include "ia_css_isp_configs.h"
12 #include "ia_css_debug.h"
13 #include "assert_support.h"
14
ia_css_configure_iterator(const struct ia_css_binary * binary,const struct ia_css_iterator_configuration * config_dmem)15 int ia_css_configure_iterator(const struct ia_css_binary *binary,
16 const struct ia_css_iterator_configuration *config_dmem)
17 {
18 unsigned int offset = 0;
19 unsigned int size = 0;
20
21 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
22
23 if (!binary->info->mem_offsets.offsets.config)
24 return 0;
25
26 size = binary->info->mem_offsets.offsets.config->dmem.iterator.size;
27 if (!size)
28 return 0;
29
30 offset = binary->info->mem_offsets.offsets.config->dmem.iterator.offset;
31
32 ia_css_iterator_config((struct sh_css_isp_iterator_isp_config *)
33 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
34 config_dmem, size);
35 return 0;
36 }
37
ia_css_configure_copy_output(const struct ia_css_binary * binary,const struct ia_css_copy_output_configuration * config_dmem)38 int ia_css_configure_copy_output(const struct ia_css_binary *binary,
39 const struct ia_css_copy_output_configuration *config_dmem)
40 {
41 unsigned int offset = 0;
42 unsigned int size = 0;
43
44 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
45
46 if (!binary->info->mem_offsets.offsets.config)
47 return 0;
48
49 size = binary->info->mem_offsets.offsets.config->dmem.copy_output.size;
50 if (!size)
51 return 0;
52
53 offset = binary->info->mem_offsets.offsets.config->dmem.copy_output.offset;
54
55 ia_css_copy_output_config((struct sh_css_isp_copy_output_isp_config *)
56 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
57 config_dmem, size);
58 return 0;
59 }
60
61 /* Code generated by genparam/genconfig.c:gen_configure_function() */
62
ia_css_configure_crop(const struct ia_css_binary * binary,const struct ia_css_crop_configuration * config_dmem)63 int ia_css_configure_crop(const struct ia_css_binary *binary,
64 const struct ia_css_crop_configuration *config_dmem)
65 {
66 unsigned int offset = 0;
67 unsigned int size = 0;
68
69 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
70
71 if (!binary->info->mem_offsets.offsets.config)
72 return 0;
73
74 size = binary->info->mem_offsets.offsets.config->dmem.crop.size;
75 if (!size)
76 return 0;
77
78 offset = binary->info->mem_offsets.offsets.config->dmem.crop.offset;
79
80 ia_css_crop_config((struct sh_css_isp_crop_isp_config *)
81 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
82 config_dmem, size);
83 return 0;
84 }
85
ia_css_configure_fpn(const struct ia_css_binary * binary,const struct ia_css_fpn_configuration * config_dmem)86 int ia_css_configure_fpn(const struct ia_css_binary *binary,
87 const struct ia_css_fpn_configuration *config_dmem)
88 {
89 unsigned int offset = 0;
90 unsigned int size = 0;
91
92 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
93
94 if (!binary->info->mem_offsets.offsets.config)
95 return 0;
96
97 size = binary->info->mem_offsets.offsets.config->dmem.fpn.size;
98 if (!size)
99 return 0;
100
101 offset = binary->info->mem_offsets.offsets.config->dmem.fpn.offset;
102 ia_css_fpn_config((struct sh_css_isp_fpn_isp_config *)
103 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
104 config_dmem, size);
105 return 0;
106 }
107
ia_css_configure_dvs(const struct ia_css_binary * binary,const struct ia_css_dvs_configuration * config_dmem)108 int ia_css_configure_dvs(const struct ia_css_binary *binary,
109 const struct ia_css_dvs_configuration *config_dmem)
110 {
111 unsigned int offset = 0;
112 unsigned int size = 0;
113
114 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
115
116 if (!binary->info->mem_offsets.offsets.config)
117 return 0;
118
119 size = binary->info->mem_offsets.offsets.config->dmem.dvs.size;
120 if (!size)
121 return 0;
122
123 offset = binary->info->mem_offsets.offsets.config->dmem.dvs.offset;
124 ia_css_dvs_config((struct sh_css_isp_dvs_isp_config *)
125 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
126 config_dmem, size);
127 return 0;
128 }
129
ia_css_configure_qplane(const struct ia_css_binary * binary,const struct ia_css_qplane_configuration * config_dmem)130 int ia_css_configure_qplane(const struct ia_css_binary *binary,
131 const struct ia_css_qplane_configuration *config_dmem)
132 {
133 unsigned int offset = 0;
134 unsigned int size = 0;
135
136 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
137
138 if (!binary->info->mem_offsets.offsets.config)
139 return 0;
140
141 size = binary->info->mem_offsets.offsets.config->dmem.qplane.size;
142 if (!size)
143 return 0;
144
145 offset = binary->info->mem_offsets.offsets.config->dmem.qplane.offset;
146 ia_css_qplane_config((struct sh_css_isp_qplane_isp_config *)
147 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
148 config_dmem, size);
149
150 return 0;
151 }
152
ia_css_configure_output0(const struct ia_css_binary * binary,const struct ia_css_output0_configuration * config_dmem)153 int ia_css_configure_output0(const struct ia_css_binary *binary,
154 const struct ia_css_output0_configuration *config_dmem)
155 {
156 unsigned int offset = 0;
157 unsigned int size = 0;
158
159 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
160
161 if (!binary->info->mem_offsets.offsets.config)
162 return 0;
163
164 size = binary->info->mem_offsets.offsets.config->dmem.output0.size;
165 if (!size)
166 return 0;
167
168 offset = binary->info->mem_offsets.offsets.config->dmem.output0.offset;
169
170 ia_css_output0_config((struct sh_css_isp_output_isp_config *)
171 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
172 config_dmem, size);
173 return 0;
174 }
175
ia_css_configure_output1(const struct ia_css_binary * binary,const struct ia_css_output1_configuration * config_dmem)176 int ia_css_configure_output1(const struct ia_css_binary *binary,
177 const struct ia_css_output1_configuration *config_dmem)
178 {
179 unsigned int offset = 0;
180 unsigned int size = 0;
181
182 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
183
184 if (!binary->info->mem_offsets.offsets.config)
185 return 0;
186
187 size = binary->info->mem_offsets.offsets.config->dmem.output1.size;
188 if (!size)
189 return 0;
190
191 offset = binary->info->mem_offsets.offsets.config->dmem.output1.offset;
192
193 ia_css_output1_config((struct sh_css_isp_output_isp_config *)
194 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
195 config_dmem, size);
196 return 0;
197 }
198
ia_css_configure_output(const struct ia_css_binary * binary,const struct ia_css_output_configuration * config_dmem)199 int ia_css_configure_output(const struct ia_css_binary *binary,
200 const struct ia_css_output_configuration *config_dmem)
201 {
202 unsigned int offset = 0;
203 unsigned int size = 0;
204
205 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
206
207 if (!binary->info->mem_offsets.offsets.config)
208 return 0;
209
210 size = binary->info->mem_offsets.offsets.config->dmem.output.size;
211 if (!size)
212 return 0;
213
214 offset = binary->info->mem_offsets.offsets.config->dmem.output.offset;
215
216 ia_css_output_config((struct sh_css_isp_output_isp_config *)
217 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
218 config_dmem, size);
219 return 0;
220 }
221
ia_css_configure_raw(const struct ia_css_binary * binary,const struct ia_css_raw_configuration * config_dmem)222 int ia_css_configure_raw(const struct ia_css_binary *binary,
223 const struct ia_css_raw_configuration *config_dmem)
224 {
225 unsigned int offset = 0;
226 unsigned int size = 0;
227
228 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
229
230 if (!binary->info->mem_offsets.offsets.config)
231 return 0;
232
233 size = binary->info->mem_offsets.offsets.config->dmem.raw.size;
234 if (!size)
235 return 0;
236
237 offset = binary->info->mem_offsets.offsets.config->dmem.raw.offset;
238
239 ia_css_raw_config((struct sh_css_isp_raw_isp_config *)
240 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
241 config_dmem, size);
242 return 0;
243 }
244
ia_css_configure_tnr(const struct ia_css_binary * binary,const struct ia_css_tnr_configuration * config_dmem)245 int ia_css_configure_tnr(const struct ia_css_binary *binary,
246 const struct ia_css_tnr_configuration *config_dmem)
247 {
248 unsigned int offset = 0;
249 unsigned int size = 0;
250
251 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
252
253 if (!binary->info->mem_offsets.offsets.config)
254 return 0;
255
256 size = binary->info->mem_offsets.offsets.config->dmem.tnr.size;
257 if (!size)
258 return 0;
259
260 offset = binary->info->mem_offsets.offsets.config->dmem.tnr.offset;
261
262 ia_css_tnr_config((struct sh_css_isp_tnr_isp_config *)
263 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
264 config_dmem, size);
265 return 0;
266 }
267
ia_css_configure_ref(const struct ia_css_binary * binary,const struct ia_css_ref_configuration * config_dmem)268 int ia_css_configure_ref(const struct ia_css_binary *binary,
269 const struct ia_css_ref_configuration *config_dmem)
270 {
271 unsigned int offset = 0;
272 unsigned int size = 0;
273
274 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
275
276 if (!binary->info->mem_offsets.offsets.config)
277 return 0;
278
279 size = binary->info->mem_offsets.offsets.config->dmem.ref.size;
280 if (!size)
281 return 0;
282
283 offset = binary->info->mem_offsets.offsets.config->dmem.ref.offset;
284
285 ia_css_ref_config((struct sh_css_isp_ref_isp_config *)
286 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
287 config_dmem, size);
288 return 0;
289 }
290
ia_css_configure_vf(const struct ia_css_binary * binary,const struct ia_css_vf_configuration * config_dmem)291 int ia_css_configure_vf(const struct ia_css_binary *binary,
292 const struct ia_css_vf_configuration *config_dmem)
293 {
294 unsigned int offset = 0;
295 unsigned int size = 0;
296
297 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
298
299 if (!binary->info->mem_offsets.offsets.config)
300 return 0;
301
302 size = binary->info->mem_offsets.offsets.config->dmem.vf.size;
303 if (!size)
304 return 0;
305
306 offset = binary->info->mem_offsets.offsets.config->dmem.vf.offset;
307
308 ia_css_vf_config((struct sh_css_isp_vf_isp_config *)
309 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
310 config_dmem, size);
311 return 0;
312 }
313