1*3a9559d8SMauro Carvalho Chehab // SPDX-License-Identifier: GPL-2.0
2*3a9559d8SMauro Carvalho Chehab /*
3*3a9559d8SMauro Carvalho Chehab  * Support for Intel Camera Imaging ISP subsystem.
4*3a9559d8SMauro Carvalho Chehab  * Copyright (c) 2015, Intel Corporation.
5*3a9559d8SMauro Carvalho Chehab  *
6*3a9559d8SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or modify it
7*3a9559d8SMauro Carvalho Chehab  * under the terms and conditions of the GNU General Public License,
8*3a9559d8SMauro Carvalho Chehab  * version 2, as published by the Free Software Foundation.
9*3a9559d8SMauro Carvalho Chehab  *
10*3a9559d8SMauro Carvalho Chehab  * This program is distributed in the hope it will be useful, but WITHOUT
11*3a9559d8SMauro Carvalho Chehab  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12*3a9559d8SMauro Carvalho Chehab  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13*3a9559d8SMauro Carvalho Chehab  * more details.
14*3a9559d8SMauro Carvalho Chehab  */
15*3a9559d8SMauro Carvalho Chehab /* Generated code: do not edit or commmit. */
16*3a9559d8SMauro Carvalho Chehab 
17*3a9559d8SMauro Carvalho Chehab #include "ia_css_pipeline.h"
18*3a9559d8SMauro Carvalho Chehab #include "ia_css_isp_states.h"
19*3a9559d8SMauro Carvalho Chehab #include "ia_css_debug.h"
20*3a9559d8SMauro Carvalho Chehab #include "assert_support.h"
21*3a9559d8SMauro Carvalho Chehab 
22*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
23*3a9559d8SMauro Carvalho Chehab 
24*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_aa_state(const struct ia_css_binary * binary)25*3a9559d8SMauro Carvalho Chehab ia_css_initialize_aa_state(
26*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
27*3a9559d8SMauro Carvalho Chehab {
28*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
29*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_aa_state() enter:\n");
30*3a9559d8SMauro Carvalho Chehab 
31*3a9559d8SMauro Carvalho Chehab 	{
32*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.aa.size;
33*3a9559d8SMauro Carvalho Chehab 
34*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.aa.offset;
35*3a9559d8SMauro Carvalho Chehab 
36*3a9559d8SMauro Carvalho Chehab 		if (size)
37*3a9559d8SMauro Carvalho Chehab 			memset(&binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
38*3a9559d8SMauro Carvalho Chehab 			       0, size);
39*3a9559d8SMauro Carvalho Chehab 	}
40*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
41*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_aa_state() leave:\n");
42*3a9559d8SMauro Carvalho Chehab }
43*3a9559d8SMauro Carvalho Chehab 
44*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
45*3a9559d8SMauro Carvalho Chehab 
46*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_cnr_state(const struct ia_css_binary * binary)47*3a9559d8SMauro Carvalho Chehab ia_css_initialize_cnr_state(
48*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
49*3a9559d8SMauro Carvalho Chehab {
50*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
51*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_cnr_state() enter:\n");
52*3a9559d8SMauro Carvalho Chehab 
53*3a9559d8SMauro Carvalho Chehab 	{
54*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.cnr.size;
55*3a9559d8SMauro Carvalho Chehab 
56*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.cnr.offset;
57*3a9559d8SMauro Carvalho Chehab 
58*3a9559d8SMauro Carvalho Chehab 		if (size) {
59*3a9559d8SMauro Carvalho Chehab 			ia_css_init_cnr_state(
60*3a9559d8SMauro Carvalho Chehab 			    &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
61*3a9559d8SMauro Carvalho Chehab 			    size);
62*3a9559d8SMauro Carvalho Chehab 		}
63*3a9559d8SMauro Carvalho Chehab 	}
64*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
65*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_cnr_state() leave:\n");
66*3a9559d8SMauro Carvalho Chehab }
67*3a9559d8SMauro Carvalho Chehab 
68*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
69*3a9559d8SMauro Carvalho Chehab 
70*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_cnr2_state(const struct ia_css_binary * binary)71*3a9559d8SMauro Carvalho Chehab ia_css_initialize_cnr2_state(
72*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
73*3a9559d8SMauro Carvalho Chehab {
74*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
75*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_cnr2_state() enter:\n");
76*3a9559d8SMauro Carvalho Chehab 
77*3a9559d8SMauro Carvalho Chehab 	{
78*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.cnr2.size;
79*3a9559d8SMauro Carvalho Chehab 
80*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.cnr2.offset;
81*3a9559d8SMauro Carvalho Chehab 
82*3a9559d8SMauro Carvalho Chehab 		if (size) {
83*3a9559d8SMauro Carvalho Chehab 			ia_css_init_cnr2_state(
84*3a9559d8SMauro Carvalho Chehab 			    &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
85*3a9559d8SMauro Carvalho Chehab 			    size);
86*3a9559d8SMauro Carvalho Chehab 		}
87*3a9559d8SMauro Carvalho Chehab 	}
88*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
89*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_cnr2_state() leave:\n");
90*3a9559d8SMauro Carvalho Chehab }
91*3a9559d8SMauro Carvalho Chehab 
92*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
93*3a9559d8SMauro Carvalho Chehab 
94*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_dp_state(const struct ia_css_binary * binary)95*3a9559d8SMauro Carvalho Chehab ia_css_initialize_dp_state(
96*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
97*3a9559d8SMauro Carvalho Chehab {
98*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
99*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_dp_state() enter:\n");
100*3a9559d8SMauro Carvalho Chehab 
101*3a9559d8SMauro Carvalho Chehab 	{
102*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.dp.size;
103*3a9559d8SMauro Carvalho Chehab 
104*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.dp.offset;
105*3a9559d8SMauro Carvalho Chehab 
106*3a9559d8SMauro Carvalho Chehab 		if (size) {
107*3a9559d8SMauro Carvalho Chehab 			ia_css_init_dp_state(
108*3a9559d8SMauro Carvalho Chehab 			    &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
109*3a9559d8SMauro Carvalho Chehab 			    size);
110*3a9559d8SMauro Carvalho Chehab 		}
111*3a9559d8SMauro Carvalho Chehab 	}
112*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
113*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_dp_state() leave:\n");
114*3a9559d8SMauro Carvalho Chehab }
115*3a9559d8SMauro Carvalho Chehab 
116*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
117*3a9559d8SMauro Carvalho Chehab 
118*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_de_state(const struct ia_css_binary * binary)119*3a9559d8SMauro Carvalho Chehab ia_css_initialize_de_state(
120*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
121*3a9559d8SMauro Carvalho Chehab {
122*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
123*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_de_state() enter:\n");
124*3a9559d8SMauro Carvalho Chehab 
125*3a9559d8SMauro Carvalho Chehab 	{
126*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.de.size;
127*3a9559d8SMauro Carvalho Chehab 
128*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.de.offset;
129*3a9559d8SMauro Carvalho Chehab 
130*3a9559d8SMauro Carvalho Chehab 		if (size) {
131*3a9559d8SMauro Carvalho Chehab 			ia_css_init_de_state(
132*3a9559d8SMauro Carvalho Chehab 			    &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
133*3a9559d8SMauro Carvalho Chehab 			    size);
134*3a9559d8SMauro Carvalho Chehab 		}
135*3a9559d8SMauro Carvalho Chehab 	}
136*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
137*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_de_state() leave:\n");
138*3a9559d8SMauro Carvalho Chehab }
139*3a9559d8SMauro Carvalho Chehab 
140*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
141*3a9559d8SMauro Carvalho Chehab 
142*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_tnr_state(const struct ia_css_binary * binary)143*3a9559d8SMauro Carvalho Chehab ia_css_initialize_tnr_state(
144*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
145*3a9559d8SMauro Carvalho Chehab {
146*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
147*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_tnr_state() enter:\n");
148*3a9559d8SMauro Carvalho Chehab 
149*3a9559d8SMauro Carvalho Chehab 	{
150*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->dmem.tnr.size;
151*3a9559d8SMauro Carvalho Chehab 
152*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->dmem.tnr.offset;
153*3a9559d8SMauro Carvalho Chehab 
154*3a9559d8SMauro Carvalho Chehab 		if (size) {
155*3a9559d8SMauro Carvalho Chehab 			ia_css_init_tnr_state((struct sh_css_isp_tnr_dmem_state *)
156*3a9559d8SMauro Carvalho Chehab 					      &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_DMEM].address[offset],
157*3a9559d8SMauro Carvalho Chehab 					      size);
158*3a9559d8SMauro Carvalho Chehab 		}
159*3a9559d8SMauro Carvalho Chehab 	}
160*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
161*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_tnr_state() leave:\n");
162*3a9559d8SMauro Carvalho Chehab }
163*3a9559d8SMauro Carvalho Chehab 
164*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
165*3a9559d8SMauro Carvalho Chehab 
166*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_ref_state(const struct ia_css_binary * binary)167*3a9559d8SMauro Carvalho Chehab ia_css_initialize_ref_state(
168*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
169*3a9559d8SMauro Carvalho Chehab {
170*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
171*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_ref_state() enter:\n");
172*3a9559d8SMauro Carvalho Chehab 
173*3a9559d8SMauro Carvalho Chehab 	{
174*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->dmem.ref.size;
175*3a9559d8SMauro Carvalho Chehab 
176*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->dmem.ref.offset;
177*3a9559d8SMauro Carvalho Chehab 
178*3a9559d8SMauro Carvalho Chehab 		if (size) {
179*3a9559d8SMauro Carvalho Chehab 			ia_css_init_ref_state((struct sh_css_isp_ref_dmem_state *)
180*3a9559d8SMauro Carvalho Chehab 					      &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_DMEM].address[offset],
181*3a9559d8SMauro Carvalho Chehab 					      size);
182*3a9559d8SMauro Carvalho Chehab 		}
183*3a9559d8SMauro Carvalho Chehab 	}
184*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
185*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_ref_state() leave:\n");
186*3a9559d8SMauro Carvalho Chehab }
187*3a9559d8SMauro Carvalho Chehab 
188*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_init_function() */
189*3a9559d8SMauro Carvalho Chehab 
190*3a9559d8SMauro Carvalho Chehab static void
ia_css_initialize_ynr_state(const struct ia_css_binary * binary)191*3a9559d8SMauro Carvalho Chehab ia_css_initialize_ynr_state(
192*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary)
193*3a9559d8SMauro Carvalho Chehab {
194*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
195*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_ynr_state() enter:\n");
196*3a9559d8SMauro Carvalho Chehab 
197*3a9559d8SMauro Carvalho Chehab 	{
198*3a9559d8SMauro Carvalho Chehab 		unsigned int size   = binary->info->mem_offsets.offsets.state->vmem.ynr.size;
199*3a9559d8SMauro Carvalho Chehab 
200*3a9559d8SMauro Carvalho Chehab 		unsigned int offset = binary->info->mem_offsets.offsets.state->vmem.ynr.offset;
201*3a9559d8SMauro Carvalho Chehab 
202*3a9559d8SMauro Carvalho Chehab 		if (size) {
203*3a9559d8SMauro Carvalho Chehab 			ia_css_init_ynr_state(
204*3a9559d8SMauro Carvalho Chehab 			    &binary->mem_params.params[IA_CSS_PARAM_CLASS_STATE][IA_CSS_ISP_VMEM].address[offset],
205*3a9559d8SMauro Carvalho Chehab 			    size);
206*3a9559d8SMauro Carvalho Chehab 		}
207*3a9559d8SMauro Carvalho Chehab 	}
208*3a9559d8SMauro Carvalho Chehab 	ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
209*3a9559d8SMauro Carvalho Chehab 			    "ia_css_initialize_ynr_state() leave:\n");
210*3a9559d8SMauro Carvalho Chehab }
211*3a9559d8SMauro Carvalho Chehab 
212*3a9559d8SMauro Carvalho Chehab /* Code generated by genparam/genstate.c:gen_state_init_table() */
213*3a9559d8SMauro Carvalho Chehab 
214*3a9559d8SMauro Carvalho Chehab void (*ia_css_kernel_init_state[IA_CSS_NUM_STATE_IDS])(
215*3a9559d8SMauro Carvalho Chehab     const struct ia_css_binary *binary) = {
216*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_aa_state,
217*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_cnr_state,
218*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_cnr2_state,
219*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_dp_state,
220*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_de_state,
221*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_tnr_state,
222*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_ref_state,
223*3a9559d8SMauro Carvalho Chehab 	ia_css_initialize_ynr_state,
224*3a9559d8SMauro Carvalho Chehab };
225