1 // SPDX-License-Identifier: GPL-2.0
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2015, Intel Corporation.
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.
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
16 /* Generated code: do not edit or commmit. */
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"
24 int ia_css_configure_iterator(const struct ia_css_binary *binary,
25 const struct ia_css_iterator_configuration *config_dmem)
27 unsigned int offset = 0;
28 unsigned int size = 0;
30 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
32 if (!binary->info->mem_offsets.offsets.config)
35 size = binary->info->mem_offsets.offsets.config->dmem.iterator.size;
39 offset = binary->info->mem_offsets.offsets.config->dmem.iterator.offset;
41 ia_css_iterator_config((struct sh_css_isp_iterator_isp_config *)
42 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
47 int ia_css_configure_copy_output(const struct ia_css_binary *binary,
48 const struct ia_css_copy_output_configuration *config_dmem)
50 unsigned int offset = 0;
51 unsigned int size = 0;
53 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
55 if (!binary->info->mem_offsets.offsets.config)
58 size = binary->info->mem_offsets.offsets.config->dmem.copy_output.size;
62 offset = binary->info->mem_offsets.offsets.config->dmem.copy_output.offset;
64 ia_css_copy_output_config((struct sh_css_isp_copy_output_isp_config *)
65 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
70 /* Code generated by genparam/genconfig.c:gen_configure_function() */
72 int ia_css_configure_crop(const struct ia_css_binary *binary,
73 const struct ia_css_crop_configuration *config_dmem)
75 unsigned int offset = 0;
76 unsigned int size = 0;
78 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
80 if (!binary->info->mem_offsets.offsets.config)
83 size = binary->info->mem_offsets.offsets.config->dmem.crop.size;
87 offset = binary->info->mem_offsets.offsets.config->dmem.crop.offset;
89 ia_css_crop_config((struct sh_css_isp_crop_isp_config *)
90 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
95 int ia_css_configure_fpn(const struct ia_css_binary *binary,
96 const struct ia_css_fpn_configuration *config_dmem)
98 unsigned int offset = 0;
99 unsigned int size = 0;
101 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
103 if (!binary->info->mem_offsets.offsets.config)
106 size = binary->info->mem_offsets.offsets.config->dmem.fpn.size;
110 offset = binary->info->mem_offsets.offsets.config->dmem.fpn.offset;
111 ia_css_fpn_config((struct sh_css_isp_fpn_isp_config *)
112 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
117 int ia_css_configure_dvs(const struct ia_css_binary *binary,
118 const struct ia_css_dvs_configuration *config_dmem)
120 unsigned int offset = 0;
121 unsigned int size = 0;
123 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
125 if (!binary->info->mem_offsets.offsets.config)
128 size = binary->info->mem_offsets.offsets.config->dmem.dvs.size;
132 offset = binary->info->mem_offsets.offsets.config->dmem.dvs.offset;
133 ia_css_dvs_config((struct sh_css_isp_dvs_isp_config *)
134 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
139 int ia_css_configure_qplane(const struct ia_css_binary *binary,
140 const struct ia_css_qplane_configuration *config_dmem)
142 unsigned int offset = 0;
143 unsigned int size = 0;
145 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
147 if (!binary->info->mem_offsets.offsets.config)
150 size = binary->info->mem_offsets.offsets.config->dmem.qplane.size;
154 offset = binary->info->mem_offsets.offsets.config->dmem.qplane.offset;
155 ia_css_qplane_config((struct sh_css_isp_qplane_isp_config *)
156 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
162 int ia_css_configure_output0(const struct ia_css_binary *binary,
163 const struct ia_css_output0_configuration *config_dmem)
165 unsigned int offset = 0;
166 unsigned int size = 0;
168 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
170 if (!binary->info->mem_offsets.offsets.config)
173 size = binary->info->mem_offsets.offsets.config->dmem.output0.size;
177 offset = binary->info->mem_offsets.offsets.config->dmem.output0.offset;
179 ia_css_output0_config((struct sh_css_isp_output_isp_config *)
180 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
185 int ia_css_configure_output1(const struct ia_css_binary *binary,
186 const struct ia_css_output1_configuration *config_dmem)
188 unsigned int offset = 0;
189 unsigned int size = 0;
191 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
193 if (!binary->info->mem_offsets.offsets.config)
196 size = binary->info->mem_offsets.offsets.config->dmem.output1.size;
200 offset = binary->info->mem_offsets.offsets.config->dmem.output1.offset;
202 ia_css_output1_config((struct sh_css_isp_output_isp_config *)
203 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
208 int ia_css_configure_output(const struct ia_css_binary *binary,
209 const struct ia_css_output_configuration *config_dmem)
211 unsigned int offset = 0;
212 unsigned int size = 0;
214 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
216 if (!binary->info->mem_offsets.offsets.config)
219 size = binary->info->mem_offsets.offsets.config->dmem.output.size;
223 offset = binary->info->mem_offsets.offsets.config->dmem.output.offset;
225 ia_css_output_config((struct sh_css_isp_output_isp_config *)
226 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
231 int ia_css_configure_raw(const struct ia_css_binary *binary,
232 const struct ia_css_raw_configuration *config_dmem)
234 unsigned int offset = 0;
235 unsigned int size = 0;
237 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
239 if (!binary->info->mem_offsets.offsets.config)
242 size = binary->info->mem_offsets.offsets.config->dmem.raw.size;
246 offset = binary->info->mem_offsets.offsets.config->dmem.raw.offset;
248 ia_css_raw_config((struct sh_css_isp_raw_isp_config *)
249 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
254 int ia_css_configure_tnr(const struct ia_css_binary *binary,
255 const struct ia_css_tnr_configuration *config_dmem)
257 unsigned int offset = 0;
258 unsigned int size = 0;
260 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
262 if (!binary->info->mem_offsets.offsets.config)
265 size = binary->info->mem_offsets.offsets.config->dmem.tnr.size;
269 offset = binary->info->mem_offsets.offsets.config->dmem.tnr.offset;
271 ia_css_tnr_config((struct sh_css_isp_tnr_isp_config *)
272 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
277 int ia_css_configure_ref(const struct ia_css_binary *binary,
278 const struct ia_css_ref_configuration *config_dmem)
280 unsigned int offset = 0;
281 unsigned int size = 0;
283 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
285 if (!binary->info->mem_offsets.offsets.config)
288 size = binary->info->mem_offsets.offsets.config->dmem.ref.size;
292 offset = binary->info->mem_offsets.offsets.config->dmem.ref.offset;
294 ia_css_ref_config((struct sh_css_isp_ref_isp_config *)
295 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],
300 int ia_css_configure_vf(const struct ia_css_binary *binary,
301 const struct ia_css_vf_configuration *config_dmem)
303 unsigned int offset = 0;
304 unsigned int size = 0;
306 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "%s:\n", __func__);
308 if (!binary->info->mem_offsets.offsets.config)
311 size = binary->info->mem_offsets.offsets.config->dmem.vf.size;
315 offset = binary->info->mem_offsets.offsets.config->dmem.vf.offset;
317 ia_css_vf_config((struct sh_css_isp_vf_isp_config *)
318 &binary->mem_params.params[IA_CSS_PARAM_CLASS_CONFIG][IA_CSS_ISP_DMEM].address[offset],