1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#define IA_CSS_INCLUDE_PARAMETERS
16#include "sh_css_params.h"
17#include "isp/kernels/aa/aa_2/ia_css_aa2.host.h"
18#include "isp/kernels/anr/anr_1.0/ia_css_anr.host.h"
19#include "isp/kernels/anr/anr_2/ia_css_anr2.host.h"
20#include "isp/kernels/bh/bh_2/ia_css_bh.host.h"
21#include "isp/kernels/bnr/bnr_1.0/ia_css_bnr.host.h"
22#include "isp/kernels/bnr/bnr2_2/ia_css_bnr2_2.host.h"
23#include "isp/kernels/cnr/cnr_2/ia_css_cnr2.host.h"
24#include "isp/kernels/crop/crop_1.0/ia_css_crop.host.h"
25#include "isp/kernels/csc/csc_1.0/ia_css_csc.host.h"
26#include "isp/kernels/ctc/ctc_1.0/ia_css_ctc.host.h"
27#include "isp/kernels/ctc/ctc1_5/ia_css_ctc1_5.host.h"
28#include "isp/kernels/ctc/ctc2/ia_css_ctc2.host.h"
29#include "isp/kernels/de/de_1.0/ia_css_de.host.h"
30#include "isp/kernels/de/de_2/ia_css_de2.host.h"
31#include "isp/kernels/dp/dp_1.0/ia_css_dp.host.h"
32#include "isp/kernels/fixedbds/fixedbds_1.0/ia_css_fixedbds_param.h"
33#include "isp/kernels/fpn/fpn_1.0/ia_css_fpn.host.h"
34#include "isp/kernels/gc/gc_1.0/ia_css_gc.host.h"
35#include "isp/kernels/gc/gc_2/ia_css_gc2.host.h"
36#include "isp/kernels/macc/macc_1.0/ia_css_macc.host.h"
37#include "isp/kernels/macc/macc1_5/ia_css_macc1_5.host.h"
38#include "isp/kernels/ob/ob_1.0/ia_css_ob.host.h"
39#include "isp/kernels/ob/ob2/ia_css_ob2.host.h"
40#include "isp/kernels/output/output_1.0/ia_css_output.host.h"
41#include "isp/kernels/raw_aa_binning/raw_aa_binning_1.0/ia_css_raa.host.h"
42#include "isp/kernels/s3a/s3a_1.0/ia_css_s3a.host.h"
43#include "isp/kernels/sc/sc_1.0/ia_css_sc.host.h"
44#include "isp/kernels/sdis/sdis_1.0/ia_css_sdis.host.h"
45#include "isp/kernels/sdis/sdis_2/ia_css_sdis2.host.h"
46#include "isp/kernels/tnr/tnr_1.0/ia_css_tnr.host.h"
47#include "isp/kernels/uds/uds_1.0/ia_css_uds_param.h"
48#include "isp/kernels/wb/wb_1.0/ia_css_wb.host.h"
49#include "isp/kernels/xnr/xnr_1.0/ia_css_xnr.host.h"
50#include "isp/kernels/xnr/xnr_3.0/ia_css_xnr3.host.h"
51#include "isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.h"
52#include "isp/kernels/ynr/ynr_2/ia_css_ynr2.host.h"
53#include "isp/kernels/fc/fc_1.0/ia_css_formats.host.h"
54#include "isp/kernels/tdf/tdf_1.0/ia_css_tdf.host.h"
55#include "isp/kernels/dpc2/ia_css_dpc2.host.h"
56#include "isp/kernels/eed1_8/ia_css_eed1_8.host.h"
57#include "isp/kernels/bnlm/ia_css_bnlm.host.h"
58#include "isp/kernels/conversion/conversion_1.0/ia_css_conversion.host.h"
59
60
61#include "ia_css_pipeline.h"
62#include "ia_css_isp_params.h"
63#include "ia_css_debug.h"
64#include "assert_support.h"
65
66
67
68static void
69ia_css_process_aa(
70 unsigned int pipe_id,
71 const struct ia_css_pipeline_stage *stage,
72 struct ia_css_isp_parameters *params)
73{
74 unsigned int size =
75 stage->binary->info->mem_offsets.offsets.param->dmem.aa.size;
76 unsigned int offset =
77 stage->binary->info->mem_offsets.offsets.param->dmem.aa.offset;
78
79 if (size) {
80 struct sh_css_isp_aa_params *t = (struct sh_css_isp_aa_params *)
81 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset];
82 t->strength = params->aa_config.strength;
83 }
84 params->isp_params_changed = true;
85 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
86 true;
87}
88
89
90
91static void
92ia_css_process_anr(
93 unsigned int pipe_id,
94 const struct ia_css_pipeline_stage *stage,
95 struct ia_css_isp_parameters *params)
96{
97 assert(params);
98
99 {
100 unsigned int size =
101 stage->binary->info->mem_offsets.offsets.param->dmem.anr.size;
102
103 unsigned int offset =
104 stage->binary->info->mem_offsets.offsets.param->dmem.anr.offset;
105
106 if (size) {
107 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
108 "ia_css_process_anr() enter:\n");
109
110 ia_css_anr_encode((struct sh_css_isp_anr_params *)
111 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
112 ¶ms->anr_config,
113 size);
114 params->isp_params_changed = true;
115 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
116 true;
117
118 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
119 "ia_css_process_anr() leave:\n");
120 }
121 }
122}
123
124
125
126static void
127ia_css_process_anr2(
128 unsigned int pipe_id,
129 const struct ia_css_pipeline_stage *stage,
130 struct ia_css_isp_parameters *params)
131{
132 assert(params);
133
134 {
135 unsigned int size =
136 stage->binary->info->mem_offsets.offsets.param->vmem.anr2.size;
137
138 unsigned int offset =
139 stage->binary->info->mem_offsets.offsets.param->vmem.anr2.offset;
140
141 if (size) {
142 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
143 "ia_css_process_anr2() enter:\n");
144
145 ia_css_anr2_vmem_encode((struct ia_css_isp_anr2_params *)
146 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
147 ¶ms->anr_thres,
148 size);
149 params->isp_params_changed = true;
150 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
151 true;
152
153 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
154 "ia_css_process_anr2() leave:\n");
155 }
156 }
157}
158
159
160
161static void
162ia_css_process_bh(
163 unsigned int pipe_id,
164 const struct ia_css_pipeline_stage *stage,
165 struct ia_css_isp_parameters *params)
166{
167 assert(params);
168
169 {
170 unsigned int size =
171 stage->binary->info->mem_offsets.offsets.param->dmem.bh.size;
172
173 unsigned int offset =
174 stage->binary->info->mem_offsets.offsets.param->dmem.bh.offset;
175
176 if (size) {
177 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() enter:\n");
178
179 ia_css_bh_encode((struct sh_css_isp_bh_params *)
180 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
181 ¶ms->s3a_config,
182 size);
183 params->isp_params_changed = true;
184 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
185 true;
186
187 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() leave:\n");
188 }
189 }
190 {
191 unsigned int size =
192 stage->binary->info->mem_offsets.offsets.param->hmem0.bh.size;
193
194 if (size) {
195 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() enter:\n");
196
197 params->isp_params_changed = true;
198 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_HMEM0] =
199 true;
200
201 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_bh() leave:\n");
202 }
203 }
204}
205
206
207
208static void
209ia_css_process_cnr(
210 unsigned int pipe_id,
211 const struct ia_css_pipeline_stage *stage,
212 struct ia_css_isp_parameters *params)
213{
214 assert(params);
215
216 {
217 unsigned int size =
218 stage->binary->info->mem_offsets.offsets.param->dmem.cnr.size;
219
220 unsigned int offset =
221 stage->binary->info->mem_offsets.offsets.param->dmem.cnr.offset;
222
223 if (size) {
224 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
225 "ia_css_process_cnr() enter:\n");
226
227 ia_css_cnr_encode((struct sh_css_isp_cnr_params *)
228 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
229 ¶ms->cnr_config,
230 size);
231 params->isp_params_changed = true;
232 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
233 true;
234
235 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
236 "ia_css_process_cnr() leave:\n");
237 }
238 }
239}
240
241
242
243static void
244ia_css_process_crop(
245 unsigned int pipe_id,
246 const struct ia_css_pipeline_stage *stage,
247 struct ia_css_isp_parameters *params)
248{
249 assert(params);
250
251 {
252 unsigned int size =
253 stage->binary->info->mem_offsets.offsets.param->dmem.crop.size;
254
255 unsigned int offset =
256 stage->binary->info->mem_offsets.offsets.param->dmem.crop.offset;
257
258 if (size) {
259 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
260 "ia_css_process_crop() enter:\n");
261
262 ia_css_crop_encode((struct sh_css_isp_crop_isp_params *)
263 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
264 ¶ms->crop_config,
265 size);
266 params->isp_params_changed = true;
267 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
268 true;
269
270 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
271 "ia_css_process_crop() leave:\n");
272 }
273 }
274}
275
276
277
278static void
279ia_css_process_csc(
280 unsigned int pipe_id,
281 const struct ia_css_pipeline_stage *stage,
282 struct ia_css_isp_parameters *params)
283{
284 assert(params);
285
286 {
287 unsigned int size =
288 stage->binary->info->mem_offsets.offsets.param->dmem.csc.size;
289
290 unsigned int offset =
291 stage->binary->info->mem_offsets.offsets.param->dmem.csc.offset;
292
293 if (size) {
294 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
295 "ia_css_process_csc() enter:\n");
296
297 ia_css_csc_encode((struct sh_css_isp_csc_params *)
298 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
299 ¶ms->cc_config,
300 size);
301 params->isp_params_changed = true;
302 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
303 true;
304
305 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
306 "ia_css_process_csc() leave:\n");
307 }
308 }
309}
310
311
312
313static void
314ia_css_process_dp(
315 unsigned int pipe_id,
316 const struct ia_css_pipeline_stage *stage,
317 struct ia_css_isp_parameters *params)
318{
319 assert(params);
320
321 {
322 unsigned int size =
323 stage->binary->info->mem_offsets.offsets.param->dmem.dp.size;
324
325 unsigned int offset =
326 stage->binary->info->mem_offsets.offsets.param->dmem.dp.offset;
327
328 if (size) {
329 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_dp() enter:\n");
330
331 ia_css_dp_encode((struct sh_css_isp_dp_params *)
332 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
333 ¶ms->dp_config,
334 size);
335 params->isp_params_changed = true;
336 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
337 true;
338
339 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_dp() leave:\n");
340 }
341 }
342}
343
344
345
346static void
347ia_css_process_bnr(
348 unsigned int pipe_id,
349 const struct ia_css_pipeline_stage *stage,
350 struct ia_css_isp_parameters *params)
351{
352 assert(params);
353
354 {
355 unsigned int size =
356 stage->binary->info->mem_offsets.offsets.param->dmem.bnr.size;
357
358 unsigned int offset =
359 stage->binary->info->mem_offsets.offsets.param->dmem.bnr.offset;
360
361 if (size) {
362 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
363 "ia_css_process_bnr() enter:\n");
364
365 ia_css_bnr_encode((struct sh_css_isp_bnr_params *)
366 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
367 ¶ms->nr_config,
368 size);
369 params->isp_params_changed = true;
370 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
371 true;
372
373 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
374 "ia_css_process_bnr() leave:\n");
375 }
376 }
377}
378
379
380
381static void
382ia_css_process_de(
383 unsigned int pipe_id,
384 const struct ia_css_pipeline_stage *stage,
385 struct ia_css_isp_parameters *params)
386{
387 assert(params);
388
389 {
390 unsigned int size =
391 stage->binary->info->mem_offsets.offsets.param->dmem.de.size;
392
393 unsigned int offset =
394 stage->binary->info->mem_offsets.offsets.param->dmem.de.offset;
395
396 if (size) {
397 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_de() enter:\n");
398
399 ia_css_de_encode((struct sh_css_isp_de_params *)
400 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
401 ¶ms->de_config,
402 size);
403 params->isp_params_changed = true;
404 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
405 true;
406
407 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_de() leave:\n");
408 }
409 }
410}
411
412
413
414static void
415ia_css_process_ecd(
416 unsigned int pipe_id,
417 const struct ia_css_pipeline_stage *stage,
418 struct ia_css_isp_parameters *params)
419{
420 assert(params);
421
422 {
423 unsigned int size =
424 stage->binary->info->mem_offsets.offsets.param->dmem.ecd.size;
425
426 unsigned int offset =
427 stage->binary->info->mem_offsets.offsets.param->dmem.ecd.offset;
428
429 if (size) {
430 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
431 "ia_css_process_ecd() enter:\n");
432
433 ia_css_ecd_encode((struct sh_css_isp_ecd_params *)
434 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
435 ¶ms->ecd_config,
436 size);
437 params->isp_params_changed = true;
438 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
439 true;
440
441 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
442 "ia_css_process_ecd() leave:\n");
443 }
444 }
445}
446
447
448
449static void
450ia_css_process_formats(
451 unsigned int pipe_id,
452 const struct ia_css_pipeline_stage *stage,
453 struct ia_css_isp_parameters *params)
454{
455 assert(params);
456
457 {
458 unsigned int size =
459 stage->binary->info->mem_offsets.offsets.param->dmem.formats.size;
460
461 unsigned int offset =
462 stage->binary->info->mem_offsets.offsets.param->dmem.formats.offset;
463
464 if (size) {
465 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
466 "ia_css_process_formats() enter:\n");
467
468 ia_css_formats_encode((struct sh_css_isp_formats_params *)
469 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
470 ¶ms->formats_config,
471 size);
472 params->isp_params_changed = true;
473 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
474 true;
475
476 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
477 "ia_css_process_formats() leave:\n");
478 }
479 }
480}
481
482
483
484static void
485ia_css_process_fpn(
486 unsigned int pipe_id,
487 const struct ia_css_pipeline_stage *stage,
488 struct ia_css_isp_parameters *params)
489{
490 assert(params);
491
492 {
493 unsigned int size =
494 stage->binary->info->mem_offsets.offsets.param->dmem.fpn.size;
495
496 unsigned int offset =
497 stage->binary->info->mem_offsets.offsets.param->dmem.fpn.offset;
498
499 if (size) {
500 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
501 "ia_css_process_fpn() enter:\n");
502
503 ia_css_fpn_encode((struct sh_css_isp_fpn_params *)
504 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
505 ¶ms->fpn_config,
506 size);
507 params->isp_params_changed = true;
508 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
509 true;
510
511 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
512 "ia_css_process_fpn() leave:\n");
513 }
514 }
515}
516
517
518
519static void
520ia_css_process_gc(
521 unsigned int pipe_id,
522 const struct ia_css_pipeline_stage *stage,
523 struct ia_css_isp_parameters *params)
524{
525 assert(params);
526
527 {
528 unsigned int size =
529 stage->binary->info->mem_offsets.offsets.param->dmem.gc.size;
530
531 unsigned int offset =
532 stage->binary->info->mem_offsets.offsets.param->dmem.gc.offset;
533
534 if (size) {
535 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_gc() enter:\n");
536
537 ia_css_gc_encode((struct sh_css_isp_gc_params *)
538 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
539 ¶ms->gc_config,
540 size);
541 params->isp_params_changed = true;
542 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
543 true;
544
545 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_gc() leave:\n");
546 }
547 }
548 {
549 unsigned int size =
550 stage->binary->info->mem_offsets.offsets.param->vamem1.gc.size;
551
552 unsigned int offset =
553 stage->binary->info->mem_offsets.offsets.param->vamem1.gc.offset;
554
555 if (size) {
556 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_gc() enter:\n");
557
558 ia_css_gc_vamem_encode((struct sh_css_isp_gc_vamem_params *)
559 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM1].address[offset],
560 ¶ms->gc_table,
561 size);
562 params->isp_params_changed = true;
563 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM1] =
564 true;
565
566 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_gc() leave:\n");
567 }
568 }
569}
570
571
572
573static void
574ia_css_process_ce(
575 unsigned int pipe_id,
576 const struct ia_css_pipeline_stage *stage,
577 struct ia_css_isp_parameters *params)
578{
579 assert(params);
580
581 {
582 unsigned int size =
583 stage->binary->info->mem_offsets.offsets.param->dmem.ce.size;
584
585 unsigned int offset =
586 stage->binary->info->mem_offsets.offsets.param->dmem.ce.offset;
587
588 if (size) {
589 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ce() enter:\n");
590
591 ia_css_ce_encode((struct sh_css_isp_ce_params *)
592 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
593 ¶ms->ce_config,
594 size);
595 params->isp_params_changed = true;
596 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
597 true;
598
599 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ce() leave:\n");
600 }
601 }
602}
603
604
605
606static void
607ia_css_process_yuv2rgb(
608 unsigned int pipe_id,
609 const struct ia_css_pipeline_stage *stage,
610 struct ia_css_isp_parameters *params)
611{
612 assert(params);
613
614 {
615 unsigned int size =
616 stage->binary->info->mem_offsets.offsets.param->dmem.yuv2rgb.size;
617
618 unsigned int offset =
619 stage->binary->info->mem_offsets.offsets.param->dmem.yuv2rgb.offset;
620
621 if (size) {
622 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
623 "ia_css_process_yuv2rgb() enter:\n");
624
625 ia_css_yuv2rgb_encode((struct sh_css_isp_csc_params *)
626 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
627 ¶ms->yuv2rgb_cc_config,
628 size);
629 params->isp_params_changed = true;
630 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
631 true;
632
633 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
634 "ia_css_process_yuv2rgb() leave:\n");
635 }
636 }
637}
638
639
640
641static void
642ia_css_process_rgb2yuv(
643 unsigned int pipe_id,
644 const struct ia_css_pipeline_stage *stage,
645 struct ia_css_isp_parameters *params)
646{
647 assert(params);
648
649 {
650 unsigned int size =
651 stage->binary->info->mem_offsets.offsets.param->dmem.rgb2yuv.size;
652
653 unsigned int offset =
654 stage->binary->info->mem_offsets.offsets.param->dmem.rgb2yuv.offset;
655
656 if (size) {
657 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
658 "ia_css_process_rgb2yuv() enter:\n");
659
660 ia_css_rgb2yuv_encode((struct sh_css_isp_csc_params *)
661 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
662 ¶ms->rgb2yuv_cc_config,
663 size);
664 params->isp_params_changed = true;
665 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
666 true;
667
668 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
669 "ia_css_process_rgb2yuv() leave:\n");
670 }
671 }
672}
673
674
675
676static void
677ia_css_process_r_gamma(
678 unsigned int pipe_id,
679 const struct ia_css_pipeline_stage *stage,
680 struct ia_css_isp_parameters *params)
681{
682 assert(params);
683
684 {
685 unsigned int size =
686 stage->binary->info->mem_offsets.offsets.param->vamem0.r_gamma.size;
687
688 unsigned int offset =
689 stage->binary->info->mem_offsets.offsets.param->vamem0.r_gamma.offset;
690
691 if (size) {
692 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
693 "ia_css_process_r_gamma() enter:\n");
694
695 ia_css_r_gamma_vamem_encode((struct sh_css_isp_rgb_gamma_vamem_params *)
696 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM0].address[offset],
697 ¶ms->r_gamma_table,
698 size);
699 params->isp_params_changed = true;
700 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM0] =
701 true;
702
703 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
704 "ia_css_process_r_gamma() leave:\n");
705 }
706 }
707}
708
709
710
711static void
712ia_css_process_g_gamma(
713 unsigned int pipe_id,
714 const struct ia_css_pipeline_stage *stage,
715 struct ia_css_isp_parameters *params)
716{
717 assert(params);
718
719 {
720 unsigned int size =
721 stage->binary->info->mem_offsets.offsets.param->vamem1.g_gamma.size;
722
723 unsigned int offset =
724 stage->binary->info->mem_offsets.offsets.param->vamem1.g_gamma.offset;
725
726 if (size) {
727 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
728 "ia_css_process_g_gamma() enter:\n");
729
730 ia_css_g_gamma_vamem_encode((struct sh_css_isp_rgb_gamma_vamem_params *)
731 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM1].address[offset],
732 ¶ms->g_gamma_table,
733 size);
734 params->isp_params_changed = true;
735 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM1] =
736 true;
737
738 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
739 "ia_css_process_g_gamma() leave:\n");
740 }
741 }
742}
743
744
745
746static void
747ia_css_process_b_gamma(
748 unsigned int pipe_id,
749 const struct ia_css_pipeline_stage *stage,
750 struct ia_css_isp_parameters *params)
751{
752 assert(params);
753
754 {
755 unsigned int size =
756 stage->binary->info->mem_offsets.offsets.param->vamem2.b_gamma.size;
757
758 unsigned int offset =
759 stage->binary->info->mem_offsets.offsets.param->vamem2.b_gamma.offset;
760
761 if (size) {
762 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
763 "ia_css_process_b_gamma() enter:\n");
764
765 ia_css_b_gamma_vamem_encode((struct sh_css_isp_rgb_gamma_vamem_params *)
766 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM2].address[offset],
767 ¶ms->b_gamma_table,
768 size);
769 params->isp_params_changed = true;
770 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM2] =
771 true;
772
773 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
774 "ia_css_process_b_gamma() leave:\n");
775 }
776 }
777}
778
779
780
781static void
782ia_css_process_uds(
783 unsigned int pipe_id,
784 const struct ia_css_pipeline_stage *stage,
785 struct ia_css_isp_parameters *params)
786{
787 assert(params);
788
789 {
790 unsigned int size =
791 stage->binary->info->mem_offsets.offsets.param->dmem.uds.size;
792
793 unsigned int offset =
794 stage->binary->info->mem_offsets.offsets.param->dmem.uds.offset;
795
796 if (size) {
797 struct sh_css_sp_uds_params *p;
798
799 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
800 "ia_css_process_uds() enter:\n");
801
802 p = (struct sh_css_sp_uds_params *)
803 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset];
804 p->crop_pos = params->uds_config.crop_pos;
805 p->uds = params->uds_config.uds;
806
807 params->isp_params_changed = true;
808 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
809 true;
810
811 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
812 "ia_css_process_uds() leave:\n");
813 }
814 }
815}
816
817
818
819static void
820ia_css_process_raa(
821 unsigned int pipe_id,
822 const struct ia_css_pipeline_stage *stage,
823 struct ia_css_isp_parameters *params)
824{
825 assert(params);
826
827 {
828 unsigned int size =
829 stage->binary->info->mem_offsets.offsets.param->dmem.raa.size;
830
831 unsigned int offset =
832 stage->binary->info->mem_offsets.offsets.param->dmem.raa.offset;
833
834 if (size) {
835 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
836 "ia_css_process_raa() enter:\n");
837
838 ia_css_raa_encode((struct sh_css_isp_aa_params *)
839 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
840 ¶ms->raa_config,
841 size);
842 params->isp_params_changed = true;
843 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
844 true;
845
846 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
847 "ia_css_process_raa() leave:\n");
848 }
849 }
850}
851
852
853
854static void
855ia_css_process_s3a(
856 unsigned int pipe_id,
857 const struct ia_css_pipeline_stage *stage,
858 struct ia_css_isp_parameters *params)
859{
860 assert(params);
861
862 {
863 unsigned int size =
864 stage->binary->info->mem_offsets.offsets.param->dmem.s3a.size;
865
866 unsigned int offset =
867 stage->binary->info->mem_offsets.offsets.param->dmem.s3a.offset;
868
869 if (size) {
870 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
871 "ia_css_process_s3a() enter:\n");
872
873 ia_css_s3a_encode((struct sh_css_isp_s3a_params *)
874 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
875 ¶ms->s3a_config,
876 size);
877 params->isp_params_changed = true;
878 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
879 true;
880
881 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
882 "ia_css_process_s3a() leave:\n");
883 }
884 }
885}
886
887
888
889static void
890ia_css_process_ob(
891 unsigned int pipe_id,
892 const struct ia_css_pipeline_stage *stage,
893 struct ia_css_isp_parameters *params)
894{
895 assert(params);
896
897 {
898 unsigned int size =
899 stage->binary->info->mem_offsets.offsets.param->dmem.ob.size;
900
901 unsigned int offset =
902 stage->binary->info->mem_offsets.offsets.param->dmem.ob.offset;
903
904 if (size) {
905 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ob() enter:\n");
906
907 ia_css_ob_encode((struct sh_css_isp_ob_params *)
908 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
909 ¶ms->ob_config,
910 ¶ms->stream_configs.ob, size);
911 params->isp_params_changed = true;
912 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
913 true;
914
915 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ob() leave:\n");
916 }
917 }
918 {
919 unsigned int size =
920 stage->binary->info->mem_offsets.offsets.param->vmem.ob.size;
921
922 unsigned int offset =
923 stage->binary->info->mem_offsets.offsets.param->vmem.ob.offset;
924
925 if (size) {
926 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ob() enter:\n");
927
928 ia_css_ob_vmem_encode((struct sh_css_isp_ob_vmem_params *)
929 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
930 ¶ms->ob_config,
931 ¶ms->stream_configs.ob, size);
932 params->isp_params_changed = true;
933 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
934 true;
935
936 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_ob() leave:\n");
937 }
938 }
939}
940
941
942
943static void
944ia_css_process_output(
945 unsigned int pipe_id,
946 const struct ia_css_pipeline_stage *stage,
947 struct ia_css_isp_parameters *params)
948{
949 assert(params);
950
951 {
952 unsigned int size =
953 stage->binary->info->mem_offsets.offsets.param->dmem.output.size;
954
955 unsigned int offset =
956 stage->binary->info->mem_offsets.offsets.param->dmem.output.offset;
957
958 if (size) {
959 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
960 "ia_css_process_output() enter:\n");
961
962 ia_css_output_encode((struct sh_css_isp_output_params *)
963 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
964 ¶ms->output_config,
965 size);
966 params->isp_params_changed = true;
967 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
968 true;
969
970 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
971 "ia_css_process_output() leave:\n");
972 }
973 }
974}
975
976
977
978static void
979ia_css_process_sc(
980 unsigned int pipe_id,
981 const struct ia_css_pipeline_stage *stage,
982 struct ia_css_isp_parameters *params)
983{
984 assert(params);
985
986 {
987 unsigned int size =
988 stage->binary->info->mem_offsets.offsets.param->dmem.sc.size;
989
990 unsigned int offset =
991 stage->binary->info->mem_offsets.offsets.param->dmem.sc.offset;
992
993 if (size) {
994 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_sc() enter:\n");
995
996 ia_css_sc_encode((struct sh_css_isp_sc_params *)
997 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
998 ¶ms->sc_config,
999 size);
1000 params->isp_params_changed = true;
1001 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1002 true;
1003
1004 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_sc() leave:\n");
1005 }
1006 }
1007}
1008
1009
1010
1011static void
1012ia_css_process_bds(
1013 unsigned int pipe_id,
1014 const struct ia_css_pipeline_stage *stage,
1015 struct ia_css_isp_parameters *params)
1016{
1017 assert(params);
1018
1019 {
1020 unsigned int size =
1021 stage->binary->info->mem_offsets.offsets.param->dmem.bds.size;
1022
1023 unsigned int offset =
1024 stage->binary->info->mem_offsets.offsets.param->dmem.bds.offset;
1025
1026 if (size) {
1027 struct sh_css_isp_bds_params *p;
1028
1029 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1030 "ia_css_process_bds() enter:\n");
1031
1032 p = (struct sh_css_isp_bds_params *)
1033 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset];
1034 p->baf_strength = params->bds_config.strength;
1035
1036 params->isp_params_changed = true;
1037 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1038 true;
1039
1040 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1041 "ia_css_process_bds() leave:\n");
1042 }
1043 }
1044}
1045
1046
1047
1048static void
1049ia_css_process_tnr(
1050 unsigned int pipe_id,
1051 const struct ia_css_pipeline_stage *stage,
1052 struct ia_css_isp_parameters *params)
1053{
1054 assert(params);
1055
1056 {
1057 unsigned int size =
1058 stage->binary->info->mem_offsets.offsets.param->dmem.tnr.size;
1059
1060 unsigned int offset =
1061 stage->binary->info->mem_offsets.offsets.param->dmem.tnr.offset;
1062
1063 if (size) {
1064 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1065 "ia_css_process_tnr() enter:\n");
1066
1067 ia_css_tnr_encode((struct sh_css_isp_tnr_params *)
1068 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1069 ¶ms->tnr_config,
1070 size);
1071 params->isp_params_changed = true;
1072 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1073 true;
1074
1075 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1076 "ia_css_process_tnr() leave:\n");
1077 }
1078 }
1079}
1080
1081
1082
1083static void
1084ia_css_process_macc(
1085 unsigned int pipe_id,
1086 const struct ia_css_pipeline_stage *stage,
1087 struct ia_css_isp_parameters *params)
1088{
1089 assert(params);
1090
1091 {
1092 unsigned int size =
1093 stage->binary->info->mem_offsets.offsets.param->dmem.macc.size;
1094
1095 unsigned int offset =
1096 stage->binary->info->mem_offsets.offsets.param->dmem.macc.offset;
1097
1098 if (size) {
1099 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1100 "ia_css_process_macc() enter:\n");
1101
1102 ia_css_macc_encode((struct sh_css_isp_macc_params *)
1103 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1104 ¶ms->macc_config,
1105 size);
1106 params->isp_params_changed = true;
1107 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1108 true;
1109
1110 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1111 "ia_css_process_macc() leave:\n");
1112 }
1113 }
1114}
1115
1116
1117
1118static void
1119ia_css_process_sdis_horicoef(
1120 unsigned int pipe_id,
1121 const struct ia_css_pipeline_stage *stage,
1122 struct ia_css_isp_parameters *params)
1123{
1124 assert(params);
1125
1126 {
1127 unsigned int size =
1128 stage->binary->info->mem_offsets.offsets.param->vmem.sdis_horicoef.size;
1129
1130 unsigned int offset =
1131 stage->binary->info->mem_offsets.offsets.param->vmem.sdis_horicoef.offset;
1132
1133 if (size) {
1134 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1135 "ia_css_process_sdis_horicoef() enter:\n");
1136
1137 ia_css_sdis_horicoef_vmem_encode((struct sh_css_isp_sdis_hori_coef_tbl *)
1138 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
1139 ¶ms->dvs_coefs,
1140 size);
1141 params->isp_params_changed = true;
1142 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
1143 true;
1144
1145 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1146 "ia_css_process_sdis_horicoef() leave:\n");
1147 }
1148 }
1149}
1150
1151
1152
1153static void
1154ia_css_process_sdis_vertcoef(
1155 unsigned int pipe_id,
1156 const struct ia_css_pipeline_stage *stage,
1157 struct ia_css_isp_parameters *params)
1158{
1159 assert(params);
1160
1161 {
1162 unsigned int size =
1163 stage->binary->info->mem_offsets.offsets.param->vmem.sdis_vertcoef.size;
1164
1165 unsigned int offset =
1166 stage->binary->info->mem_offsets.offsets.param->vmem.sdis_vertcoef.offset;
1167
1168 if (size) {
1169 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1170 "ia_css_process_sdis_vertcoef() enter:\n");
1171
1172 ia_css_sdis_vertcoef_vmem_encode((struct sh_css_isp_sdis_vert_coef_tbl *)
1173 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
1174 ¶ms->dvs_coefs,
1175 size);
1176 params->isp_params_changed = true;
1177 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
1178 true;
1179
1180 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1181 "ia_css_process_sdis_vertcoef() leave:\n");
1182 }
1183 }
1184}
1185
1186
1187
1188static void
1189ia_css_process_sdis_horiproj(
1190 unsigned int pipe_id,
1191 const struct ia_css_pipeline_stage *stage,
1192 struct ia_css_isp_parameters *params)
1193{
1194 assert(params);
1195
1196 {
1197 unsigned int size =
1198 stage->binary->info->mem_offsets.offsets.param->dmem.sdis_horiproj.size;
1199
1200 unsigned int offset =
1201 stage->binary->info->mem_offsets.offsets.param->dmem.sdis_horiproj.offset;
1202
1203 if (size) {
1204 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1205 "ia_css_process_sdis_horiproj() enter:\n");
1206
1207 ia_css_sdis_horiproj_encode((struct sh_css_isp_sdis_hori_proj_tbl *)
1208 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1209 ¶ms->dvs_coefs,
1210 size);
1211 params->isp_params_changed = true;
1212 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1213 true;
1214
1215 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1216 "ia_css_process_sdis_horiproj() leave:\n");
1217 }
1218 }
1219}
1220
1221
1222
1223static void
1224ia_css_process_sdis_vertproj(
1225 unsigned int pipe_id,
1226 const struct ia_css_pipeline_stage *stage,
1227 struct ia_css_isp_parameters *params)
1228{
1229 assert(params);
1230
1231 {
1232 unsigned int size =
1233 stage->binary->info->mem_offsets.offsets.param->dmem.sdis_vertproj.size;
1234
1235 unsigned int offset =
1236 stage->binary->info->mem_offsets.offsets.param->dmem.sdis_vertproj.offset;
1237
1238 if (size) {
1239 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1240 "ia_css_process_sdis_vertproj() enter:\n");
1241
1242 ia_css_sdis_vertproj_encode((struct sh_css_isp_sdis_vert_proj_tbl *)
1243 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1244 ¶ms->dvs_coefs,
1245 size);
1246 params->isp_params_changed = true;
1247 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1248 true;
1249
1250 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1251 "ia_css_process_sdis_vertproj() leave:\n");
1252 }
1253 }
1254}
1255
1256
1257
1258static void
1259ia_css_process_sdis2_horicoef(
1260 unsigned int pipe_id,
1261 const struct ia_css_pipeline_stage *stage,
1262 struct ia_css_isp_parameters *params)
1263{
1264 assert(params);
1265
1266 {
1267 unsigned int size =
1268 stage->binary->info->mem_offsets.offsets.param->vmem.sdis2_horicoef.size;
1269
1270 unsigned int offset =
1271 stage->binary->info->mem_offsets.offsets.param->vmem.sdis2_horicoef.offset;
1272
1273 if (size) {
1274 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1275 "ia_css_process_sdis2_horicoef() enter:\n");
1276
1277 ia_css_sdis2_horicoef_vmem_encode((struct sh_css_isp_sdis_hori_coef_tbl *)
1278 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
1279 ¶ms->dvs2_coefs,
1280 size);
1281 params->isp_params_changed = true;
1282 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
1283 true;
1284
1285 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1286 "ia_css_process_sdis2_horicoef() leave:\n");
1287 }
1288 }
1289}
1290
1291
1292
1293static void
1294ia_css_process_sdis2_vertcoef(
1295 unsigned int pipe_id,
1296 const struct ia_css_pipeline_stage *stage,
1297 struct ia_css_isp_parameters *params)
1298{
1299 assert(params);
1300
1301 {
1302 unsigned int size =
1303 stage->binary->info->mem_offsets.offsets.param->vmem.sdis2_vertcoef.size;
1304
1305 unsigned int offset =
1306 stage->binary->info->mem_offsets.offsets.param->vmem.sdis2_vertcoef.offset;
1307
1308 if (size) {
1309 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1310 "ia_css_process_sdis2_vertcoef() enter:\n");
1311
1312 ia_css_sdis2_vertcoef_vmem_encode((struct sh_css_isp_sdis_vert_coef_tbl *)
1313 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VMEM].address[offset],
1314 ¶ms->dvs2_coefs,
1315 size);
1316 params->isp_params_changed = true;
1317 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VMEM] =
1318 true;
1319
1320 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1321 "ia_css_process_sdis2_vertcoef() leave:\n");
1322 }
1323 }
1324}
1325
1326
1327
1328static void
1329ia_css_process_sdis2_horiproj(
1330 unsigned int pipe_id,
1331 const struct ia_css_pipeline_stage *stage,
1332 struct ia_css_isp_parameters *params)
1333{
1334 assert(params);
1335
1336 {
1337 unsigned int size =
1338 stage->binary->info->mem_offsets.offsets.param->dmem.sdis2_horiproj.size;
1339
1340 unsigned int offset =
1341 stage->binary->info->mem_offsets.offsets.param->dmem.sdis2_horiproj.offset;
1342
1343 if (size) {
1344 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1345 "ia_css_process_sdis2_horiproj() enter:\n");
1346
1347 ia_css_sdis2_horiproj_encode((struct sh_css_isp_sdis_hori_proj_tbl *)
1348 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1349 ¶ms->dvs2_coefs,
1350 size);
1351 params->isp_params_changed = true;
1352 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1353 true;
1354
1355 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1356 "ia_css_process_sdis2_horiproj() leave:\n");
1357 }
1358 }
1359}
1360
1361
1362
1363static void
1364ia_css_process_sdis2_vertproj(
1365 unsigned int pipe_id,
1366 const struct ia_css_pipeline_stage *stage,
1367 struct ia_css_isp_parameters *params)
1368{
1369 assert(params);
1370
1371 {
1372 unsigned int size =
1373 stage->binary->info->mem_offsets.offsets.param->dmem.sdis2_vertproj.size;
1374
1375 unsigned int offset =
1376 stage->binary->info->mem_offsets.offsets.param->dmem.sdis2_vertproj.offset;
1377
1378 if (size) {
1379 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1380 "ia_css_process_sdis2_vertproj() enter:\n");
1381
1382 ia_css_sdis2_vertproj_encode((struct sh_css_isp_sdis_vert_proj_tbl *)
1383 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1384 ¶ms->dvs2_coefs,
1385 size);
1386 params->isp_params_changed = true;
1387 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1388 true;
1389
1390 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1391 "ia_css_process_sdis2_vertproj() leave:\n");
1392 }
1393 }
1394}
1395
1396
1397
1398static void
1399ia_css_process_wb(
1400 unsigned int pipe_id,
1401 const struct ia_css_pipeline_stage *stage,
1402 struct ia_css_isp_parameters *params)
1403{
1404 assert(params);
1405
1406 {
1407 unsigned int size =
1408 stage->binary->info->mem_offsets.offsets.param->dmem.wb.size;
1409
1410 unsigned int offset =
1411 stage->binary->info->mem_offsets.offsets.param->dmem.wb.offset;
1412
1413 if (size) {
1414 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_wb() enter:\n");
1415
1416 ia_css_wb_encode((struct sh_css_isp_wb_params *)
1417 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1418 ¶ms->wb_config,
1419 size);
1420 params->isp_params_changed = true;
1421 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1422 true;
1423
1424 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_wb() leave:\n");
1425 }
1426 }
1427}
1428
1429
1430
1431static void
1432ia_css_process_nr(
1433 unsigned int pipe_id,
1434 const struct ia_css_pipeline_stage *stage,
1435 struct ia_css_isp_parameters *params)
1436{
1437 assert(params);
1438
1439 {
1440 unsigned int size =
1441 stage->binary->info->mem_offsets.offsets.param->dmem.nr.size;
1442
1443 unsigned int offset =
1444 stage->binary->info->mem_offsets.offsets.param->dmem.nr.offset;
1445
1446 if (size) {
1447 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_nr() enter:\n");
1448
1449 ia_css_nr_encode((struct sh_css_isp_ynr_params *)
1450 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1451 ¶ms->nr_config,
1452 size);
1453 params->isp_params_changed = true;
1454 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1455 true;
1456
1457 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_nr() leave:\n");
1458 }
1459 }
1460}
1461
1462
1463
1464static void
1465ia_css_process_yee(
1466 unsigned int pipe_id,
1467 const struct ia_css_pipeline_stage *stage,
1468 struct ia_css_isp_parameters *params)
1469{
1470 assert(params);
1471
1472 {
1473 unsigned int size =
1474 stage->binary->info->mem_offsets.offsets.param->dmem.yee.size;
1475
1476 unsigned int offset =
1477 stage->binary->info->mem_offsets.offsets.param->dmem.yee.offset;
1478
1479 if (size) {
1480 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1481 "ia_css_process_yee() enter:\n");
1482
1483 ia_css_yee_encode((struct sh_css_isp_yee_params *)
1484 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1485 ¶ms->yee_config,
1486 size);
1487 params->isp_params_changed = true;
1488 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1489 true;
1490
1491 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1492 "ia_css_process_yee() leave:\n");
1493 }
1494 }
1495}
1496
1497
1498
1499static void
1500ia_css_process_ynr(
1501 unsigned int pipe_id,
1502 const struct ia_css_pipeline_stage *stage,
1503 struct ia_css_isp_parameters *params)
1504{
1505 assert(params);
1506
1507 {
1508 unsigned int size =
1509 stage->binary->info->mem_offsets.offsets.param->dmem.ynr.size;
1510
1511 unsigned int offset =
1512 stage->binary->info->mem_offsets.offsets.param->dmem.ynr.offset;
1513
1514 if (size) {
1515 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1516 "ia_css_process_ynr() enter:\n");
1517
1518 ia_css_ynr_encode((struct sh_css_isp_yee2_params *)
1519 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1520 ¶ms->ynr_config,
1521 size);
1522 params->isp_params_changed = true;
1523 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1524 true;
1525
1526 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1527 "ia_css_process_ynr() leave:\n");
1528 }
1529 }
1530}
1531
1532
1533
1534static void
1535ia_css_process_fc(
1536 unsigned int pipe_id,
1537 const struct ia_css_pipeline_stage *stage,
1538 struct ia_css_isp_parameters *params)
1539{
1540 assert(params);
1541
1542 {
1543 unsigned int size =
1544 stage->binary->info->mem_offsets.offsets.param->dmem.fc.size;
1545
1546 unsigned int offset =
1547 stage->binary->info->mem_offsets.offsets.param->dmem.fc.offset;
1548
1549 if (size) {
1550 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_fc() enter:\n");
1551
1552 ia_css_fc_encode((struct sh_css_isp_fc_params *)
1553 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1554 ¶ms->fc_config,
1555 size);
1556 params->isp_params_changed = true;
1557 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1558 true;
1559
1560 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE, "ia_css_process_fc() leave:\n");
1561 }
1562 }
1563}
1564
1565
1566
1567static void
1568ia_css_process_ctc(
1569 unsigned int pipe_id,
1570 const struct ia_css_pipeline_stage *stage,
1571 struct ia_css_isp_parameters *params)
1572{
1573 assert(params);
1574
1575 {
1576 unsigned int size =
1577 stage->binary->info->mem_offsets.offsets.param->dmem.ctc.size;
1578
1579 unsigned int offset =
1580 stage->binary->info->mem_offsets.offsets.param->dmem.ctc.offset;
1581
1582 if (size) {
1583 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1584 "ia_css_process_ctc() enter:\n");
1585
1586 ia_css_ctc_encode((struct sh_css_isp_ctc_params *)
1587 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1588 ¶ms->ctc_config,
1589 size);
1590 params->isp_params_changed = true;
1591 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1592 true;
1593
1594 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1595 "ia_css_process_ctc() leave:\n");
1596 }
1597 }
1598 {
1599 unsigned int size =
1600 stage->binary->info->mem_offsets.offsets.param->vamem0.ctc.size;
1601
1602 unsigned int offset =
1603 stage->binary->info->mem_offsets.offsets.param->vamem0.ctc.offset;
1604
1605 if (size) {
1606 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1607 "ia_css_process_ctc() enter:\n");
1608
1609 ia_css_ctc_vamem_encode((struct sh_css_isp_ctc_vamem_params *)
1610 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM0].address[offset],
1611 ¶ms->ctc_table,
1612 size);
1613 params->isp_params_changed = true;
1614 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM0] =
1615 true;
1616
1617 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1618 "ia_css_process_ctc() leave:\n");
1619 }
1620 }
1621}
1622
1623
1624
1625static void
1626ia_css_process_xnr_table(
1627 unsigned int pipe_id,
1628 const struct ia_css_pipeline_stage *stage,
1629 struct ia_css_isp_parameters *params)
1630{
1631 assert(params);
1632
1633 {
1634 unsigned int size =
1635 stage->binary->info->mem_offsets.offsets.param->vamem1.xnr_table.size;
1636
1637 unsigned int offset =
1638 stage->binary->info->mem_offsets.offsets.param->vamem1.xnr_table.offset;
1639
1640 if (size) {
1641 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1642 "ia_css_process_xnr_table() enter:\n");
1643
1644 ia_css_xnr_table_vamem_encode((struct sh_css_isp_xnr_vamem_params *)
1645 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_VAMEM1].address[offset],
1646 ¶ms->xnr_table,
1647 size);
1648 params->isp_params_changed = true;
1649 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_VAMEM1] =
1650 true;
1651
1652 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1653 "ia_css_process_xnr_table() leave:\n");
1654 }
1655 }
1656}
1657
1658
1659
1660static void
1661ia_css_process_xnr(
1662 unsigned int pipe_id,
1663 const struct ia_css_pipeline_stage *stage,
1664 struct ia_css_isp_parameters *params)
1665{
1666 assert(params);
1667
1668 {
1669 unsigned int size =
1670 stage->binary->info->mem_offsets.offsets.param->dmem.xnr.size;
1671
1672 unsigned int offset =
1673 stage->binary->info->mem_offsets.offsets.param->dmem.xnr.offset;
1674
1675 if (size) {
1676 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1677 "ia_css_process_xnr() enter:\n");
1678
1679 ia_css_xnr_encode((struct sh_css_isp_xnr_params *)
1680 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1681 ¶ms->xnr_config,
1682 size);
1683 params->isp_params_changed = true;
1684 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1685 true;
1686
1687 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1688 "ia_css_process_xnr() leave:\n");
1689 }
1690 }
1691}
1692
1693
1694
1695static void
1696ia_css_process_xnr3(
1697 unsigned int pipe_id,
1698 const struct ia_css_pipeline_stage *stage,
1699 struct ia_css_isp_parameters *params)
1700{
1701 assert(params);
1702
1703 {
1704 unsigned int size =
1705 stage->binary->info->mem_offsets.offsets.param->dmem.xnr3.size;
1706
1707 unsigned int offset =
1708 stage->binary->info->mem_offsets.offsets.param->dmem.xnr3.offset;
1709
1710 if (size) {
1711 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1712 "ia_css_process_xnr3() enter:\n");
1713
1714 ia_css_xnr3_encode((struct sh_css_isp_xnr3_params *)
1715 &stage->binary->mem_params.params[IA_CSS_PARAM_CLASS_PARAM][IA_CSS_ISP_DMEM].address[offset],
1716 ¶ms->xnr3_config,
1717 size);
1718 params->isp_params_changed = true;
1719 params->isp_mem_params_changed[pipe_id][stage->stage_num][IA_CSS_ISP_DMEM] =
1720 true;
1721
1722 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1723 "ia_css_process_xnr3() leave:\n");
1724 }
1725 }
1726}
1727
1728
1729
1730void (*ia_css_kernel_process_param[IA_CSS_NUM_PARAMETER_IDS])(
1731 unsigned int pipe_id,
1732 const struct ia_css_pipeline_stage *stage,
1733 struct ia_css_isp_parameters *params) = {
1734 ia_css_process_aa,
1735 ia_css_process_anr,
1736 ia_css_process_anr2,
1737 ia_css_process_bh,
1738 ia_css_process_cnr,
1739 ia_css_process_crop,
1740 ia_css_process_csc,
1741 ia_css_process_dp,
1742 ia_css_process_bnr,
1743 ia_css_process_de,
1744 ia_css_process_ecd,
1745 ia_css_process_formats,
1746 ia_css_process_fpn,
1747 ia_css_process_gc,
1748 ia_css_process_ce,
1749 ia_css_process_yuv2rgb,
1750 ia_css_process_rgb2yuv,
1751 ia_css_process_r_gamma,
1752 ia_css_process_g_gamma,
1753 ia_css_process_b_gamma,
1754 ia_css_process_uds,
1755 ia_css_process_raa,
1756 ia_css_process_s3a,
1757 ia_css_process_ob,
1758 ia_css_process_output,
1759 ia_css_process_sc,
1760 ia_css_process_bds,
1761 ia_css_process_tnr,
1762 ia_css_process_macc,
1763 ia_css_process_sdis_horicoef,
1764 ia_css_process_sdis_vertcoef,
1765 ia_css_process_sdis_horiproj,
1766 ia_css_process_sdis_vertproj,
1767 ia_css_process_sdis2_horicoef,
1768 ia_css_process_sdis2_vertcoef,
1769 ia_css_process_sdis2_horiproj,
1770 ia_css_process_sdis2_vertproj,
1771 ia_css_process_wb,
1772 ia_css_process_nr,
1773 ia_css_process_yee,
1774 ia_css_process_ynr,
1775 ia_css_process_fc,
1776 ia_css_process_ctc,
1777 ia_css_process_xnr_table,
1778 ia_css_process_xnr,
1779 ia_css_process_xnr3,
1780};
1781
1782
1783
1784static void
1785ia_css_get_dp_config(const struct ia_css_isp_parameters *params,
1786 struct ia_css_dp_config *config)
1787{
1788 if (!config)
1789 return;
1790
1791 assert(params);
1792 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1793 "ia_css_get_dp_config() enter: config=%p\n",
1794 config);
1795
1796 *config = params->dp_config;
1797
1798 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1799 "ia_css_get_dp_config() leave\n");
1800 ia_css_dp_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1801}
1802
1803
1804
1805void
1806ia_css_set_dp_config(struct ia_css_isp_parameters *params,
1807 const struct ia_css_dp_config *config)
1808{
1809 if (!config)
1810 return;
1811
1812 assert(params);
1813 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_dp_config() enter:\n");
1814 ia_css_dp_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1815 params->dp_config = *config;
1816 params->config_changed[IA_CSS_DP_ID] = true;
1817 params->config_changed[IA_CSS_DP_ID] = true;
1818
1819 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1820 "ia_css_set_dp_config() leave: return_void\n");
1821}
1822
1823
1824
1825static void
1826ia_css_get_wb_config(const struct ia_css_isp_parameters *params,
1827 struct ia_css_wb_config *config)
1828{
1829 if (!config)
1830 return;
1831
1832 assert(params);
1833 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1834 "ia_css_get_wb_config() enter: config=%p\n",
1835 config);
1836
1837 *config = params->wb_config;
1838
1839 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1840 "ia_css_get_wb_config() leave\n");
1841 ia_css_wb_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1842}
1843
1844
1845
1846void
1847ia_css_set_wb_config(struct ia_css_isp_parameters *params,
1848 const struct ia_css_wb_config *config)
1849{
1850 if (!config)
1851 return;
1852
1853 assert(params);
1854 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_wb_config() enter:\n");
1855 ia_css_wb_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1856 params->wb_config = *config;
1857 params->config_changed[IA_CSS_WB_ID] = true;
1858 params->config_changed[IA_CSS_WB_ID] = true;
1859
1860 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1861 "ia_css_set_wb_config() leave: return_void\n");
1862}
1863
1864
1865
1866static void
1867ia_css_get_tnr_config(const struct ia_css_isp_parameters *params,
1868 struct ia_css_tnr_config *config)
1869{
1870 if (!config)
1871 return;
1872
1873 assert(params);
1874 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1875 "ia_css_get_tnr_config() enter: config=%p\n",
1876 config);
1877
1878 *config = params->tnr_config;
1879
1880 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1881 "ia_css_get_tnr_config() leave\n");
1882 ia_css_tnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1883}
1884
1885
1886
1887void
1888ia_css_set_tnr_config(struct ia_css_isp_parameters *params,
1889 const struct ia_css_tnr_config *config)
1890{
1891 if (!config)
1892 return;
1893
1894 assert(params);
1895 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_tnr_config() enter:\n");
1896 ia_css_tnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1897 params->tnr_config = *config;
1898 params->config_changed[IA_CSS_TNR_ID] = true;
1899 params->config_changed[IA_CSS_TNR_ID] = true;
1900
1901 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1902 "ia_css_set_tnr_config() leave: return_void\n");
1903}
1904
1905
1906
1907static void
1908ia_css_get_ob_config(const struct ia_css_isp_parameters *params,
1909 struct ia_css_ob_config *config)
1910{
1911 if (!config)
1912 return;
1913
1914 assert(params);
1915 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1916 "ia_css_get_ob_config() enter: config=%p\n",
1917 config);
1918
1919 *config = params->ob_config;
1920
1921 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1922 "ia_css_get_ob_config() leave\n");
1923 ia_css_ob_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1924}
1925
1926
1927
1928void
1929ia_css_set_ob_config(struct ia_css_isp_parameters *params,
1930 const struct ia_css_ob_config *config)
1931{
1932 if (!config)
1933 return;
1934
1935 assert(params);
1936 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_ob_config() enter:\n");
1937 ia_css_ob_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1938 params->ob_config = *config;
1939 params->config_changed[IA_CSS_OB_ID] = true;
1940 params->config_changed[IA_CSS_OB_ID] = true;
1941
1942 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1943 "ia_css_set_ob_config() leave: return_void\n");
1944}
1945
1946
1947
1948static void
1949ia_css_get_de_config(const struct ia_css_isp_parameters *params,
1950 struct ia_css_de_config *config)
1951{
1952 if (!config)
1953 return;
1954
1955 assert(params);
1956 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1957 "ia_css_get_de_config() enter: config=%p\n",
1958 config);
1959
1960 *config = params->de_config;
1961
1962 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1963 "ia_css_get_de_config() leave\n");
1964 ia_css_de_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1965}
1966
1967
1968
1969void
1970ia_css_set_de_config(struct ia_css_isp_parameters *params,
1971 const struct ia_css_de_config *config)
1972{
1973 if (!config)
1974 return;
1975
1976 assert(params);
1977 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_de_config() enter:\n");
1978 ia_css_de_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
1979 params->de_config = *config;
1980 params->config_changed[IA_CSS_DE_ID] = true;
1981 params->config_changed[IA_CSS_DE_ID] = true;
1982
1983 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1984 "ia_css_set_de_config() leave: return_void\n");
1985}
1986
1987
1988
1989static void
1990ia_css_get_anr_config(const struct ia_css_isp_parameters *params,
1991 struct ia_css_anr_config *config)
1992{
1993 if (!config)
1994 return;
1995
1996 assert(params);
1997 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
1998 "ia_css_get_anr_config() enter: config=%p\n",
1999 config);
2000
2001 *config = params->anr_config;
2002
2003 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2004 "ia_css_get_anr_config() leave\n");
2005 ia_css_anr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2006}
2007
2008
2009
2010void
2011ia_css_set_anr_config(struct ia_css_isp_parameters *params,
2012 const struct ia_css_anr_config *config)
2013{
2014 if (!config)
2015 return;
2016
2017 assert(params);
2018 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_anr_config() enter:\n");
2019 ia_css_anr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2020 params->anr_config = *config;
2021 params->config_changed[IA_CSS_ANR_ID] = true;
2022 params->config_changed[IA_CSS_ANR_ID] = true;
2023
2024 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2025 "ia_css_set_anr_config() leave: return_void\n");
2026}
2027
2028
2029
2030static void
2031ia_css_get_anr2_config(const struct ia_css_isp_parameters *params,
2032 struct ia_css_anr_thres *config)
2033{
2034 if (!config)
2035 return;
2036
2037 assert(params);
2038 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2039 "ia_css_get_anr2_config() enter: config=%p\n",
2040 config);
2041
2042 *config = params->anr_thres;
2043
2044 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2045 "ia_css_get_anr2_config() leave\n");
2046 ia_css_anr2_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2047}
2048
2049
2050
2051void
2052ia_css_set_anr2_config(struct ia_css_isp_parameters *params,
2053 const struct ia_css_anr_thres *config)
2054{
2055 if (!config)
2056 return;
2057
2058 assert(params);
2059 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_anr2_config() enter:\n");
2060 ia_css_anr2_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2061 params->anr_thres = *config;
2062 params->config_changed[IA_CSS_ANR2_ID] = true;
2063 params->config_changed[IA_CSS_ANR2_ID] = true;
2064
2065 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2066 "ia_css_set_anr2_config() leave: return_void\n");
2067}
2068
2069
2070
2071static void
2072ia_css_get_ce_config(const struct ia_css_isp_parameters *params,
2073 struct ia_css_ce_config *config)
2074{
2075 if (!config)
2076 return;
2077
2078 assert(params);
2079 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2080 "ia_css_get_ce_config() enter: config=%p\n",
2081 config);
2082
2083 *config = params->ce_config;
2084
2085 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2086 "ia_css_get_ce_config() leave\n");
2087 ia_css_ce_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2088}
2089
2090
2091
2092void
2093ia_css_set_ce_config(struct ia_css_isp_parameters *params,
2094 const struct ia_css_ce_config *config)
2095{
2096 if (!config)
2097 return;
2098
2099 assert(params);
2100 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_ce_config() enter:\n");
2101 ia_css_ce_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2102 params->ce_config = *config;
2103 params->config_changed[IA_CSS_CE_ID] = true;
2104 params->config_changed[IA_CSS_CE_ID] = true;
2105
2106 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2107 "ia_css_set_ce_config() leave: return_void\n");
2108}
2109
2110
2111
2112static void
2113ia_css_get_ecd_config(const struct ia_css_isp_parameters *params,
2114 struct ia_css_ecd_config *config)
2115{
2116 if (!config)
2117 return;
2118
2119 assert(params);
2120 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2121 "ia_css_get_ecd_config() enter: config=%p\n",
2122 config);
2123
2124 *config = params->ecd_config;
2125
2126 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2127 "ia_css_get_ecd_config() leave\n");
2128 ia_css_ecd_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2129}
2130
2131
2132
2133void
2134ia_css_set_ecd_config(struct ia_css_isp_parameters *params,
2135 const struct ia_css_ecd_config *config)
2136{
2137 if (!config)
2138 return;
2139
2140 assert(params);
2141 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_ecd_config() enter:\n");
2142 ia_css_ecd_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2143 params->ecd_config = *config;
2144 params->config_changed[IA_CSS_ECD_ID] = true;
2145 params->config_changed[IA_CSS_ECD_ID] = true;
2146
2147 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2148 "ia_css_set_ecd_config() leave: return_void\n");
2149}
2150
2151
2152
2153static void
2154ia_css_get_ynr_config(const struct ia_css_isp_parameters *params,
2155 struct ia_css_ynr_config *config)
2156{
2157 if (!config)
2158 return;
2159
2160 assert(params);
2161 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2162 "ia_css_get_ynr_config() enter: config=%p\n",
2163 config);
2164
2165 *config = params->ynr_config;
2166
2167 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2168 "ia_css_get_ynr_config() leave\n");
2169 ia_css_ynr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2170}
2171
2172
2173
2174void
2175ia_css_set_ynr_config(struct ia_css_isp_parameters *params,
2176 const struct ia_css_ynr_config *config)
2177{
2178 if (!config)
2179 return;
2180
2181 assert(params);
2182 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_ynr_config() enter:\n");
2183 ia_css_ynr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2184 params->ynr_config = *config;
2185 params->config_changed[IA_CSS_YNR_ID] = true;
2186 params->config_changed[IA_CSS_YNR_ID] = true;
2187
2188 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2189 "ia_css_set_ynr_config() leave: return_void\n");
2190}
2191
2192
2193
2194static void
2195ia_css_get_fc_config(const struct ia_css_isp_parameters *params,
2196 struct ia_css_fc_config *config)
2197{
2198 if (!config)
2199 return;
2200
2201 assert(params);
2202 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2203 "ia_css_get_fc_config() enter: config=%p\n",
2204 config);
2205
2206 *config = params->fc_config;
2207
2208 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2209 "ia_css_get_fc_config() leave\n");
2210 ia_css_fc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2211}
2212
2213
2214
2215void
2216ia_css_set_fc_config(struct ia_css_isp_parameters *params,
2217 const struct ia_css_fc_config *config)
2218{
2219 if (!config)
2220 return;
2221
2222 assert(params);
2223 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_fc_config() enter:\n");
2224 ia_css_fc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2225 params->fc_config = *config;
2226 params->config_changed[IA_CSS_FC_ID] = true;
2227 params->config_changed[IA_CSS_FC_ID] = true;
2228
2229 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2230 "ia_css_set_fc_config() leave: return_void\n");
2231}
2232
2233
2234
2235static void
2236ia_css_get_cnr_config(const struct ia_css_isp_parameters *params,
2237 struct ia_css_cnr_config *config)
2238{
2239 if (!config)
2240 return;
2241
2242 assert(params);
2243 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2244 "ia_css_get_cnr_config() enter: config=%p\n",
2245 config);
2246
2247 *config = params->cnr_config;
2248
2249 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2250 "ia_css_get_cnr_config() leave\n");
2251 ia_css_cnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2252}
2253
2254
2255
2256void
2257ia_css_set_cnr_config(struct ia_css_isp_parameters *params,
2258 const struct ia_css_cnr_config *config)
2259{
2260 if (!config)
2261 return;
2262
2263 assert(params);
2264 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_cnr_config() enter:\n");
2265 ia_css_cnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2266 params->cnr_config = *config;
2267 params->config_changed[IA_CSS_CNR_ID] = true;
2268 params->config_changed[IA_CSS_CNR_ID] = true;
2269
2270 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2271 "ia_css_set_cnr_config() leave: return_void\n");
2272}
2273
2274
2275
2276static void
2277ia_css_get_macc_config(const struct ia_css_isp_parameters *params,
2278 struct ia_css_macc_config *config)
2279{
2280 if (!config)
2281 return;
2282
2283 assert(params);
2284 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2285 "ia_css_get_macc_config() enter: config=%p\n",
2286 config);
2287
2288 *config = params->macc_config;
2289
2290 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2291 "ia_css_get_macc_config() leave\n");
2292 ia_css_macc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2293}
2294
2295
2296
2297void
2298ia_css_set_macc_config(struct ia_css_isp_parameters *params,
2299 const struct ia_css_macc_config *config)
2300{
2301 if (!config)
2302 return;
2303
2304 assert(params);
2305 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_macc_config() enter:\n");
2306 ia_css_macc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2307 params->macc_config = *config;
2308 params->config_changed[IA_CSS_MACC_ID] = true;
2309 params->config_changed[IA_CSS_MACC_ID] = true;
2310
2311 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2312 "ia_css_set_macc_config() leave: return_void\n");
2313}
2314
2315
2316
2317static void
2318ia_css_get_ctc_config(const struct ia_css_isp_parameters *params,
2319 struct ia_css_ctc_config *config)
2320{
2321 if (!config)
2322 return;
2323
2324 assert(params);
2325 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2326 "ia_css_get_ctc_config() enter: config=%p\n",
2327 config);
2328
2329 *config = params->ctc_config;
2330
2331 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2332 "ia_css_get_ctc_config() leave\n");
2333 ia_css_ctc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2334}
2335
2336
2337
2338void
2339ia_css_set_ctc_config(struct ia_css_isp_parameters *params,
2340 const struct ia_css_ctc_config *config)
2341{
2342 if (!config)
2343 return;
2344
2345 assert(params);
2346 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_ctc_config() enter:\n");
2347 ia_css_ctc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2348 params->ctc_config = *config;
2349 params->config_changed[IA_CSS_CTC_ID] = true;
2350 params->config_changed[IA_CSS_CTC_ID] = true;
2351
2352 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2353 "ia_css_set_ctc_config() leave: return_void\n");
2354}
2355
2356
2357
2358static void
2359ia_css_get_aa_config(const struct ia_css_isp_parameters *params,
2360 struct ia_css_aa_config *config)
2361{
2362 if (!config)
2363 return;
2364
2365 assert(params);
2366 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2367 "ia_css_get_aa_config() enter: config=%p\n",
2368 config);
2369
2370 *config = params->aa_config;
2371
2372 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2373 "ia_css_get_aa_config() leave\n");
2374}
2375
2376
2377
2378void
2379ia_css_set_aa_config(struct ia_css_isp_parameters *params,
2380 const struct ia_css_aa_config *config)
2381{
2382 if (!config)
2383 return;
2384
2385 assert(params);
2386 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_aa_config() enter:\n");
2387 params->aa_config = *config;
2388 params->config_changed[IA_CSS_AA_ID] = true;
2389 params->config_changed[IA_CSS_AA_ID] = true;
2390
2391 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2392 "ia_css_set_aa_config() leave: return_void\n");
2393}
2394
2395
2396
2397static void
2398ia_css_get_yuv2rgb_config(const struct ia_css_isp_parameters *params,
2399 struct ia_css_cc_config *config)
2400{
2401 if (!config)
2402 return;
2403
2404 assert(params);
2405 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2406 "ia_css_get_yuv2rgb_config() enter: config=%p\n",
2407 config);
2408
2409 *config = params->yuv2rgb_cc_config;
2410
2411 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2412 "ia_css_get_yuv2rgb_config() leave\n");
2413 ia_css_yuv2rgb_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2414}
2415
2416
2417
2418void
2419ia_css_set_yuv2rgb_config(struct ia_css_isp_parameters *params,
2420 const struct ia_css_cc_config *config)
2421{
2422 if (!config)
2423 return;
2424
2425 assert(params);
2426 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_yuv2rgb_config() enter:\n");
2427 ia_css_yuv2rgb_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2428 params->yuv2rgb_cc_config = *config;
2429 params->config_changed[IA_CSS_YUV2RGB_ID] = true;
2430 params->config_changed[IA_CSS_YUV2RGB_ID] = true;
2431
2432 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2433 "ia_css_set_yuv2rgb_config() leave: return_void\n");
2434}
2435
2436
2437
2438static void
2439ia_css_get_rgb2yuv_config(const struct ia_css_isp_parameters *params,
2440 struct ia_css_cc_config *config)
2441{
2442 if (!config)
2443 return;
2444
2445 assert(params);
2446 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2447 "ia_css_get_rgb2yuv_config() enter: config=%p\n",
2448 config);
2449
2450 *config = params->rgb2yuv_cc_config;
2451
2452 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2453 "ia_css_get_rgb2yuv_config() leave\n");
2454 ia_css_rgb2yuv_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2455}
2456
2457
2458
2459void
2460ia_css_set_rgb2yuv_config(struct ia_css_isp_parameters *params,
2461 const struct ia_css_cc_config *config)
2462{
2463 if (!config)
2464 return;
2465
2466 assert(params);
2467 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_rgb2yuv_config() enter:\n");
2468 ia_css_rgb2yuv_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2469 params->rgb2yuv_cc_config = *config;
2470 params->config_changed[IA_CSS_RGB2YUV_ID] = true;
2471 params->config_changed[IA_CSS_RGB2YUV_ID] = true;
2472
2473 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2474 "ia_css_set_rgb2yuv_config() leave: return_void\n");
2475}
2476
2477
2478
2479static void
2480ia_css_get_csc_config(const struct ia_css_isp_parameters *params,
2481 struct ia_css_cc_config *config)
2482{
2483 if (!config)
2484 return;
2485
2486 assert(params);
2487 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2488 "ia_css_get_csc_config() enter: config=%p\n",
2489 config);
2490
2491 *config = params->cc_config;
2492
2493 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2494 "ia_css_get_csc_config() leave\n");
2495 ia_css_csc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2496}
2497
2498
2499
2500void
2501ia_css_set_csc_config(struct ia_css_isp_parameters *params,
2502 const struct ia_css_cc_config *config)
2503{
2504 if (!config)
2505 return;
2506
2507 assert(params);
2508 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_csc_config() enter:\n");
2509 ia_css_csc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2510 params->cc_config = *config;
2511 params->config_changed[IA_CSS_CSC_ID] = true;
2512 params->config_changed[IA_CSS_CSC_ID] = true;
2513
2514 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2515 "ia_css_set_csc_config() leave: return_void\n");
2516}
2517
2518
2519
2520static void
2521ia_css_get_nr_config(const struct ia_css_isp_parameters *params,
2522 struct ia_css_nr_config *config)
2523{
2524 if (!config)
2525 return;
2526
2527 assert(params);
2528 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2529 "ia_css_get_nr_config() enter: config=%p\n",
2530 config);
2531
2532 *config = params->nr_config;
2533
2534 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2535 "ia_css_get_nr_config() leave\n");
2536 ia_css_nr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2537}
2538
2539
2540
2541void
2542ia_css_set_nr_config(struct ia_css_isp_parameters *params,
2543 const struct ia_css_nr_config *config)
2544{
2545 if (!config)
2546 return;
2547
2548 assert(params);
2549 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_nr_config() enter:\n");
2550 ia_css_nr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2551 params->nr_config = *config;
2552 params->config_changed[IA_CSS_BNR_ID] = true;
2553 params->config_changed[IA_CSS_NR_ID] = true;
2554 params->config_changed[IA_CSS_NR_ID] = true;
2555
2556 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2557 "ia_css_set_nr_config() leave: return_void\n");
2558}
2559
2560
2561
2562static void
2563ia_css_get_gc_config(const struct ia_css_isp_parameters *params,
2564 struct ia_css_gc_config *config)
2565{
2566 if (!config)
2567 return;
2568
2569 assert(params);
2570 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2571 "ia_css_get_gc_config() enter: config=%p\n",
2572 config);
2573
2574 *config = params->gc_config;
2575
2576 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2577 "ia_css_get_gc_config() leave\n");
2578 ia_css_gc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2579}
2580
2581
2582
2583void
2584ia_css_set_gc_config(struct ia_css_isp_parameters *params,
2585 const struct ia_css_gc_config *config)
2586{
2587 if (!config)
2588 return;
2589
2590 assert(params);
2591 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_gc_config() enter:\n");
2592 ia_css_gc_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2593 params->gc_config = *config;
2594 params->config_changed[IA_CSS_GC_ID] = true;
2595 params->config_changed[IA_CSS_GC_ID] = true;
2596
2597 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2598 "ia_css_set_gc_config() leave: return_void\n");
2599}
2600
2601
2602
2603static void
2604ia_css_get_sdis_horicoef_config(const struct ia_css_isp_parameters *params,
2605 struct ia_css_dvs_coefficients *config)
2606{
2607 if (!config)
2608 return;
2609
2610 assert(params);
2611 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2612 "ia_css_get_sdis_horicoef_config() enter: config=%p\n",
2613 config);
2614
2615 *config = params->dvs_coefs;
2616
2617 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2618 "ia_css_get_sdis_horicoef_config() leave\n");
2619 ia_css_sdis_horicoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2620}
2621
2622
2623
2624void
2625ia_css_set_sdis_horicoef_config(struct ia_css_isp_parameters *params,
2626 const struct ia_css_dvs_coefficients *config)
2627{
2628 if (!config)
2629 return;
2630
2631 assert(params);
2632 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2633 "ia_css_set_sdis_horicoef_config() enter:\n");
2634 ia_css_sdis_horicoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2635 params->dvs_coefs = *config;
2636 params->config_changed[IA_CSS_SDIS_HORICOEF_ID] = true;
2637 params->config_changed[IA_CSS_SDIS_VERTCOEF_ID] = true;
2638 params->config_changed[IA_CSS_SDIS_HORIPROJ_ID] = true;
2639 params->config_changed[IA_CSS_SDIS_VERTPROJ_ID] = true;
2640 params->config_changed[IA_CSS_SDIS_HORICOEF_ID] = true;
2641
2642 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2643 "ia_css_set_sdis_horicoef_config() leave: return_void\n");
2644}
2645
2646
2647
2648static void
2649ia_css_get_sdis_vertcoef_config(const struct ia_css_isp_parameters *params,
2650 struct ia_css_dvs_coefficients *config)
2651{
2652 if (!config)
2653 return;
2654
2655 assert(params);
2656 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2657 "ia_css_get_sdis_vertcoef_config() enter: config=%p\n",
2658 config);
2659
2660 *config = params->dvs_coefs;
2661
2662 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2663 "ia_css_get_sdis_vertcoef_config() leave\n");
2664 ia_css_sdis_vertcoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2665}
2666
2667
2668
2669void
2670ia_css_set_sdis_vertcoef_config(struct ia_css_isp_parameters *params,
2671 const struct ia_css_dvs_coefficients *config)
2672{
2673 if (!config)
2674 return;
2675
2676 assert(params);
2677 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2678 "ia_css_set_sdis_vertcoef_config() enter:\n");
2679 ia_css_sdis_vertcoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2680 params->dvs_coefs = *config;
2681 params->config_changed[IA_CSS_SDIS_HORICOEF_ID] = true;
2682 params->config_changed[IA_CSS_SDIS_VERTCOEF_ID] = true;
2683 params->config_changed[IA_CSS_SDIS_HORIPROJ_ID] = true;
2684 params->config_changed[IA_CSS_SDIS_VERTPROJ_ID] = true;
2685 params->config_changed[IA_CSS_SDIS_VERTCOEF_ID] = true;
2686
2687 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2688 "ia_css_set_sdis_vertcoef_config() leave: return_void\n");
2689}
2690
2691
2692
2693static void
2694ia_css_get_sdis_horiproj_config(const struct ia_css_isp_parameters *params,
2695 struct ia_css_dvs_coefficients *config)
2696{
2697 if (!config)
2698 return;
2699
2700 assert(params);
2701 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2702 "ia_css_get_sdis_horiproj_config() enter: config=%p\n",
2703 config);
2704
2705 *config = params->dvs_coefs;
2706
2707 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2708 "ia_css_get_sdis_horiproj_config() leave\n");
2709 ia_css_sdis_horiproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2710}
2711
2712
2713
2714void
2715ia_css_set_sdis_horiproj_config(struct ia_css_isp_parameters *params,
2716 const struct ia_css_dvs_coefficients *config)
2717{
2718 if (!config)
2719 return;
2720
2721 assert(params);
2722 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2723 "ia_css_set_sdis_horiproj_config() enter:\n");
2724 ia_css_sdis_horiproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2725 params->dvs_coefs = *config;
2726 params->config_changed[IA_CSS_SDIS_HORICOEF_ID] = true;
2727 params->config_changed[IA_CSS_SDIS_VERTCOEF_ID] = true;
2728 params->config_changed[IA_CSS_SDIS_HORIPROJ_ID] = true;
2729 params->config_changed[IA_CSS_SDIS_VERTPROJ_ID] = true;
2730 params->config_changed[IA_CSS_SDIS_HORIPROJ_ID] = true;
2731
2732 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2733 "ia_css_set_sdis_horiproj_config() leave: return_void\n");
2734}
2735
2736
2737
2738static void
2739ia_css_get_sdis_vertproj_config(const struct ia_css_isp_parameters *params,
2740 struct ia_css_dvs_coefficients *config)
2741{
2742 if (!config)
2743 return;
2744
2745 assert(params);
2746 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2747 "ia_css_get_sdis_vertproj_config() enter: config=%p\n",
2748 config);
2749
2750 *config = params->dvs_coefs;
2751
2752 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2753 "ia_css_get_sdis_vertproj_config() leave\n");
2754 ia_css_sdis_vertproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2755}
2756
2757
2758
2759void
2760ia_css_set_sdis_vertproj_config(struct ia_css_isp_parameters *params,
2761 const struct ia_css_dvs_coefficients *config)
2762{
2763 if (!config)
2764 return;
2765
2766 assert(params);
2767 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2768 "ia_css_set_sdis_vertproj_config() enter:\n");
2769 ia_css_sdis_vertproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2770 params->dvs_coefs = *config;
2771 params->config_changed[IA_CSS_SDIS_HORICOEF_ID] = true;
2772 params->config_changed[IA_CSS_SDIS_VERTCOEF_ID] = true;
2773 params->config_changed[IA_CSS_SDIS_HORIPROJ_ID] = true;
2774 params->config_changed[IA_CSS_SDIS_VERTPROJ_ID] = true;
2775 params->config_changed[IA_CSS_SDIS_VERTPROJ_ID] = true;
2776
2777 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2778 "ia_css_set_sdis_vertproj_config() leave: return_void\n");
2779}
2780
2781
2782
2783static void
2784ia_css_get_sdis2_horicoef_config(const struct ia_css_isp_parameters *params,
2785 struct ia_css_dvs2_coefficients *config)
2786{
2787 if (!config)
2788 return;
2789
2790 assert(params);
2791 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2792 "ia_css_get_sdis2_horicoef_config() enter: config=%p\n",
2793 config);
2794
2795 *config = params->dvs2_coefs;
2796
2797 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2798 "ia_css_get_sdis2_horicoef_config() leave\n");
2799 ia_css_sdis2_horicoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2800}
2801
2802
2803
2804void
2805ia_css_set_sdis2_horicoef_config(struct ia_css_isp_parameters *params,
2806 const struct ia_css_dvs2_coefficients *config)
2807{
2808 if (!config)
2809 return;
2810
2811 assert(params);
2812 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2813 "ia_css_set_sdis2_horicoef_config() enter:\n");
2814 ia_css_sdis2_horicoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2815 params->dvs2_coefs = *config;
2816 params->config_changed[IA_CSS_SDIS2_HORICOEF_ID] = true;
2817 params->config_changed[IA_CSS_SDIS2_VERTCOEF_ID] = true;
2818 params->config_changed[IA_CSS_SDIS2_HORIPROJ_ID] = true;
2819 params->config_changed[IA_CSS_SDIS2_VERTPROJ_ID] = true;
2820 params->config_changed[IA_CSS_SDIS2_HORICOEF_ID] = true;
2821
2822 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2823 "ia_css_set_sdis2_horicoef_config() leave: return_void\n");
2824}
2825
2826
2827
2828static void
2829ia_css_get_sdis2_vertcoef_config(const struct ia_css_isp_parameters *params,
2830 struct ia_css_dvs2_coefficients *config)
2831{
2832 if (!config)
2833 return;
2834
2835 assert(params);
2836 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2837 "ia_css_get_sdis2_vertcoef_config() enter: config=%p\n",
2838 config);
2839
2840 *config = params->dvs2_coefs;
2841
2842 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2843 "ia_css_get_sdis2_vertcoef_config() leave\n");
2844 ia_css_sdis2_vertcoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2845}
2846
2847
2848
2849void
2850ia_css_set_sdis2_vertcoef_config(struct ia_css_isp_parameters *params,
2851 const struct ia_css_dvs2_coefficients *config)
2852{
2853 if (!config)
2854 return;
2855
2856 assert(params);
2857 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2858 "ia_css_set_sdis2_vertcoef_config() enter:\n");
2859 ia_css_sdis2_vertcoef_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2860 params->dvs2_coefs = *config;
2861 params->config_changed[IA_CSS_SDIS2_HORICOEF_ID] = true;
2862 params->config_changed[IA_CSS_SDIS2_VERTCOEF_ID] = true;
2863 params->config_changed[IA_CSS_SDIS2_HORIPROJ_ID] = true;
2864 params->config_changed[IA_CSS_SDIS2_VERTPROJ_ID] = true;
2865 params->config_changed[IA_CSS_SDIS2_VERTCOEF_ID] = true;
2866
2867 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2868 "ia_css_set_sdis2_vertcoef_config() leave: return_void\n");
2869}
2870
2871
2872
2873static void
2874ia_css_get_sdis2_horiproj_config(const struct ia_css_isp_parameters *params,
2875 struct ia_css_dvs2_coefficients *config)
2876{
2877 if (!config)
2878 return;
2879
2880 assert(params);
2881 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2882 "ia_css_get_sdis2_horiproj_config() enter: config=%p\n",
2883 config);
2884
2885 *config = params->dvs2_coefs;
2886
2887 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2888 "ia_css_get_sdis2_horiproj_config() leave\n");
2889 ia_css_sdis2_horiproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2890}
2891
2892
2893
2894void
2895ia_css_set_sdis2_horiproj_config(struct ia_css_isp_parameters *params,
2896 const struct ia_css_dvs2_coefficients *config)
2897{
2898 if (!config)
2899 return;
2900
2901 assert(params);
2902 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2903 "ia_css_set_sdis2_horiproj_config() enter:\n");
2904 ia_css_sdis2_horiproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2905 params->dvs2_coefs = *config;
2906 params->config_changed[IA_CSS_SDIS2_HORICOEF_ID] = true;
2907 params->config_changed[IA_CSS_SDIS2_VERTCOEF_ID] = true;
2908 params->config_changed[IA_CSS_SDIS2_HORIPROJ_ID] = true;
2909 params->config_changed[IA_CSS_SDIS2_VERTPROJ_ID] = true;
2910 params->config_changed[IA_CSS_SDIS2_HORIPROJ_ID] = true;
2911
2912 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2913 "ia_css_set_sdis2_horiproj_config() leave: return_void\n");
2914}
2915
2916
2917
2918static void
2919ia_css_get_sdis2_vertproj_config(const struct ia_css_isp_parameters *params,
2920 struct ia_css_dvs2_coefficients *config)
2921{
2922 if (!config)
2923 return;
2924
2925 assert(params);
2926 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2927 "ia_css_get_sdis2_vertproj_config() enter: config=%p\n",
2928 config);
2929
2930 *config = params->dvs2_coefs;
2931
2932 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2933 "ia_css_get_sdis2_vertproj_config() leave\n");
2934 ia_css_sdis2_vertproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2935}
2936
2937
2938
2939void
2940ia_css_set_sdis2_vertproj_config(struct ia_css_isp_parameters *params,
2941 const struct ia_css_dvs2_coefficients *config)
2942{
2943 if (!config)
2944 return;
2945
2946 assert(params);
2947 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
2948 "ia_css_set_sdis2_vertproj_config() enter:\n");
2949 ia_css_sdis2_vertproj_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2950 params->dvs2_coefs = *config;
2951 params->config_changed[IA_CSS_SDIS2_HORICOEF_ID] = true;
2952 params->config_changed[IA_CSS_SDIS2_VERTCOEF_ID] = true;
2953 params->config_changed[IA_CSS_SDIS2_HORIPROJ_ID] = true;
2954 params->config_changed[IA_CSS_SDIS2_VERTPROJ_ID] = true;
2955 params->config_changed[IA_CSS_SDIS2_VERTPROJ_ID] = true;
2956
2957 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2958 "ia_css_set_sdis2_vertproj_config() leave: return_void\n");
2959}
2960
2961
2962
2963static void
2964ia_css_get_r_gamma_config(const struct ia_css_isp_parameters *params,
2965 struct ia_css_rgb_gamma_table *config)
2966{
2967 if (!config)
2968 return;
2969
2970 assert(params);
2971 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2972 "ia_css_get_r_gamma_config() enter: config=%p\n",
2973 config);
2974
2975 *config = params->r_gamma_table;
2976
2977 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2978 "ia_css_get_r_gamma_config() leave\n");
2979 ia_css_r_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2980}
2981
2982
2983
2984void
2985ia_css_set_r_gamma_config(struct ia_css_isp_parameters *params,
2986 const struct ia_css_rgb_gamma_table *config)
2987{
2988 if (!config)
2989 return;
2990
2991 assert(params);
2992 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_r_gamma_config() enter:\n");
2993 ia_css_r_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
2994 params->r_gamma_table = *config;
2995 params->config_changed[IA_CSS_R_GAMMA_ID] = true;
2996 params->config_changed[IA_CSS_R_GAMMA_ID] = true;
2997
2998 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
2999 "ia_css_set_r_gamma_config() leave: return_void\n");
3000}
3001
3002
3003
3004static void
3005ia_css_get_g_gamma_config(const struct ia_css_isp_parameters *params,
3006 struct ia_css_rgb_gamma_table *config)
3007{
3008 if (!config)
3009 return;
3010
3011 assert(params);
3012 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3013 "ia_css_get_g_gamma_config() enter: config=%p\n",
3014 config);
3015
3016 *config = params->g_gamma_table;
3017
3018 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3019 "ia_css_get_g_gamma_config() leave\n");
3020 ia_css_g_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3021}
3022
3023
3024
3025void
3026ia_css_set_g_gamma_config(struct ia_css_isp_parameters *params,
3027 const struct ia_css_rgb_gamma_table *config)
3028{
3029 if (!config)
3030 return;
3031
3032 assert(params);
3033 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_g_gamma_config() enter:\n");
3034 ia_css_g_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3035 params->g_gamma_table = *config;
3036 params->config_changed[IA_CSS_G_GAMMA_ID] = true;
3037 params->config_changed[IA_CSS_G_GAMMA_ID] = true;
3038
3039 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3040 "ia_css_set_g_gamma_config() leave: return_void\n");
3041}
3042
3043
3044
3045static void
3046ia_css_get_b_gamma_config(const struct ia_css_isp_parameters *params,
3047 struct ia_css_rgb_gamma_table *config)
3048{
3049 if (!config)
3050 return;
3051
3052 assert(params);
3053 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3054 "ia_css_get_b_gamma_config() enter: config=%p\n",
3055 config);
3056
3057 *config = params->b_gamma_table;
3058
3059 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3060 "ia_css_get_b_gamma_config() leave\n");
3061 ia_css_b_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3062}
3063
3064
3065
3066void
3067ia_css_set_b_gamma_config(struct ia_css_isp_parameters *params,
3068 const struct ia_css_rgb_gamma_table *config)
3069{
3070 if (!config)
3071 return;
3072
3073 assert(params);
3074 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_b_gamma_config() enter:\n");
3075 ia_css_b_gamma_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3076 params->b_gamma_table = *config;
3077 params->config_changed[IA_CSS_B_GAMMA_ID] = true;
3078 params->config_changed[IA_CSS_B_GAMMA_ID] = true;
3079
3080 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3081 "ia_css_set_b_gamma_config() leave: return_void\n");
3082}
3083
3084
3085
3086static void
3087ia_css_get_xnr_table_config(const struct ia_css_isp_parameters *params,
3088 struct ia_css_xnr_table *config)
3089{
3090 if (!config)
3091 return;
3092
3093 assert(params);
3094 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3095 "ia_css_get_xnr_table_config() enter: config=%p\n",
3096 config);
3097
3098 *config = params->xnr_table;
3099
3100 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3101 "ia_css_get_xnr_table_config() leave\n");
3102 ia_css_xnr_table_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3103}
3104
3105
3106
3107void
3108ia_css_set_xnr_table_config(struct ia_css_isp_parameters *params,
3109 const struct ia_css_xnr_table *config)
3110{
3111 if (!config)
3112 return;
3113
3114 assert(params);
3115 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE,
3116 "ia_css_set_xnr_table_config() enter:\n");
3117 ia_css_xnr_table_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3118 params->xnr_table = *config;
3119 params->config_changed[IA_CSS_XNR_TABLE_ID] = true;
3120 params->config_changed[IA_CSS_XNR_TABLE_ID] = true;
3121
3122 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3123 "ia_css_set_xnr_table_config() leave: return_void\n");
3124}
3125
3126
3127
3128static void
3129ia_css_get_formats_config(const struct ia_css_isp_parameters *params,
3130 struct ia_css_formats_config *config)
3131{
3132 if (!config)
3133 return;
3134
3135 assert(params);
3136 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3137 "ia_css_get_formats_config() enter: config=%p\n",
3138 config);
3139
3140 *config = params->formats_config;
3141
3142 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3143 "ia_css_get_formats_config() leave\n");
3144 ia_css_formats_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3145}
3146
3147
3148
3149void
3150ia_css_set_formats_config(struct ia_css_isp_parameters *params,
3151 const struct ia_css_formats_config *config)
3152{
3153 if (!config)
3154 return;
3155
3156 assert(params);
3157 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_formats_config() enter:\n");
3158 ia_css_formats_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3159 params->formats_config = *config;
3160 params->config_changed[IA_CSS_FORMATS_ID] = true;
3161 params->config_changed[IA_CSS_FORMATS_ID] = true;
3162
3163 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3164 "ia_css_set_formats_config() leave: return_void\n");
3165}
3166
3167
3168
3169static void
3170ia_css_get_xnr_config(const struct ia_css_isp_parameters *params,
3171 struct ia_css_xnr_config *config)
3172{
3173 if (!config)
3174 return;
3175
3176 assert(params);
3177 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3178 "ia_css_get_xnr_config() enter: config=%p\n",
3179 config);
3180
3181 *config = params->xnr_config;
3182
3183 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3184 "ia_css_get_xnr_config() leave\n");
3185 ia_css_xnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3186}
3187
3188
3189
3190void
3191ia_css_set_xnr_config(struct ia_css_isp_parameters *params,
3192 const struct ia_css_xnr_config *config)
3193{
3194 if (!config)
3195 return;
3196
3197 assert(params);
3198 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_xnr_config() enter:\n");
3199 ia_css_xnr_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3200 params->xnr_config = *config;
3201 params->config_changed[IA_CSS_XNR_ID] = true;
3202 params->config_changed[IA_CSS_XNR_ID] = true;
3203
3204 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3205 "ia_css_set_xnr_config() leave: return_void\n");
3206}
3207
3208
3209
3210static void
3211ia_css_get_xnr3_config(const struct ia_css_isp_parameters *params,
3212 struct ia_css_xnr3_config *config)
3213{
3214 if (!config)
3215 return;
3216
3217 assert(params);
3218 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3219 "ia_css_get_xnr3_config() enter: config=%p\n",
3220 config);
3221
3222 *config = params->xnr3_config;
3223
3224 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3225 "ia_css_get_xnr3_config() leave\n");
3226 ia_css_xnr3_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3227}
3228
3229
3230
3231void
3232ia_css_set_xnr3_config(struct ia_css_isp_parameters *params,
3233 const struct ia_css_xnr3_config *config)
3234{
3235 if (!config)
3236 return;
3237
3238 assert(params);
3239 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_xnr3_config() enter:\n");
3240 ia_css_xnr3_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3241 params->xnr3_config = *config;
3242 params->config_changed[IA_CSS_XNR3_ID] = true;
3243 params->config_changed[IA_CSS_XNR3_ID] = true;
3244
3245 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3246 "ia_css_set_xnr3_config() leave: return_void\n");
3247}
3248
3249
3250
3251static void
3252ia_css_get_s3a_config(const struct ia_css_isp_parameters *params,
3253 struct ia_css_3a_config *config)
3254{
3255 if (!config)
3256 return;
3257
3258 assert(params);
3259 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3260 "ia_css_get_s3a_config() enter: config=%p\n",
3261 config);
3262
3263 *config = params->s3a_config;
3264
3265 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3266 "ia_css_get_s3a_config() leave\n");
3267 ia_css_s3a_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3268}
3269
3270
3271
3272void
3273ia_css_set_s3a_config(struct ia_css_isp_parameters *params,
3274 const struct ia_css_3a_config *config)
3275{
3276 if (!config)
3277 return;
3278
3279 assert(params);
3280 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_s3a_config() enter:\n");
3281 ia_css_s3a_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3282 params->s3a_config = *config;
3283 params->config_changed[IA_CSS_BH_ID] = true;
3284 params->config_changed[IA_CSS_S3A_ID] = true;
3285 params->config_changed[IA_CSS_S3A_ID] = true;
3286
3287 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3288 "ia_css_set_s3a_config() leave: return_void\n");
3289}
3290
3291
3292
3293static void
3294ia_css_get_output_config(const struct ia_css_isp_parameters *params,
3295 struct ia_css_output_config *config)
3296{
3297 if (!config)
3298 return;
3299
3300 assert(params);
3301 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3302 "ia_css_get_output_config() enter: config=%p\n",
3303 config);
3304
3305 *config = params->output_config;
3306
3307 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3308 "ia_css_get_output_config() leave\n");
3309 ia_css_output_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3310}
3311
3312
3313
3314void
3315ia_css_set_output_config(struct ia_css_isp_parameters *params,
3316 const struct ia_css_output_config *config)
3317{
3318 if (!config)
3319 return;
3320
3321 assert(params);
3322 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE, "ia_css_set_output_config() enter:\n");
3323 ia_css_output_debug_dtrace(config, IA_CSS_DEBUG_TRACE);
3324 params->output_config = *config;
3325 params->config_changed[IA_CSS_OUTPUT_ID] = true;
3326 params->config_changed[IA_CSS_OUTPUT_ID] = true;
3327
3328 ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
3329 "ia_css_set_output_config() leave: return_void\n");
3330}
3331
3332
3333
3334void
3335ia_css_get_configs(struct ia_css_isp_parameters *params,
3336 const struct ia_css_isp_config *config)
3337{
3338 ia_css_get_dp_config(params, config->dp_config);
3339 ia_css_get_wb_config(params, config->wb_config);
3340 ia_css_get_tnr_config(params, config->tnr_config);
3341 ia_css_get_ob_config(params, config->ob_config);
3342 ia_css_get_de_config(params, config->de_config);
3343 ia_css_get_anr_config(params, config->anr_config);
3344 ia_css_get_anr2_config(params, config->anr_thres);
3345 ia_css_get_ce_config(params, config->ce_config);
3346 ia_css_get_ecd_config(params, config->ecd_config);
3347 ia_css_get_ynr_config(params, config->ynr_config);
3348 ia_css_get_fc_config(params, config->fc_config);
3349 ia_css_get_cnr_config(params, config->cnr_config);
3350 ia_css_get_macc_config(params, config->macc_config);
3351 ia_css_get_ctc_config(params, config->ctc_config);
3352 ia_css_get_aa_config(params, config->aa_config);
3353 ia_css_get_yuv2rgb_config(params, config->yuv2rgb_cc_config);
3354 ia_css_get_rgb2yuv_config(params, config->rgb2yuv_cc_config);
3355 ia_css_get_csc_config(params, config->cc_config);
3356 ia_css_get_nr_config(params, config->nr_config);
3357 ia_css_get_gc_config(params, config->gc_config);
3358 ia_css_get_sdis_horicoef_config(params, config->dvs_coefs);
3359 ia_css_get_sdis_vertcoef_config(params, config->dvs_coefs);
3360 ia_css_get_sdis_horiproj_config(params, config->dvs_coefs);
3361 ia_css_get_sdis_vertproj_config(params, config->dvs_coefs);
3362 ia_css_get_sdis2_horicoef_config(params, config->dvs2_coefs);
3363 ia_css_get_sdis2_vertcoef_config(params, config->dvs2_coefs);
3364 ia_css_get_sdis2_horiproj_config(params, config->dvs2_coefs);
3365 ia_css_get_sdis2_vertproj_config(params, config->dvs2_coefs);
3366 ia_css_get_r_gamma_config(params, config->r_gamma_table);
3367 ia_css_get_g_gamma_config(params, config->g_gamma_table);
3368 ia_css_get_b_gamma_config(params, config->b_gamma_table);
3369 ia_css_get_xnr_table_config(params, config->xnr_table);
3370 ia_css_get_formats_config(params, config->formats_config);
3371 ia_css_get_xnr_config(params, config->xnr_config);
3372 ia_css_get_xnr3_config(params, config->xnr3_config);
3373 ia_css_get_s3a_config(params, config->s3a_config);
3374 ia_css_get_output_config(params, config->output_config);
3375}
3376
3377
3378
3379void
3380ia_css_set_configs(struct ia_css_isp_parameters *params,
3381 const struct ia_css_isp_config *config)
3382{
3383 ia_css_set_dp_config(params, config->dp_config);
3384 ia_css_set_wb_config(params, config->wb_config);
3385 ia_css_set_tnr_config(params, config->tnr_config);
3386 ia_css_set_ob_config(params, config->ob_config);
3387 ia_css_set_de_config(params, config->de_config);
3388 ia_css_set_anr_config(params, config->anr_config);
3389 ia_css_set_anr2_config(params, config->anr_thres);
3390 ia_css_set_ce_config(params, config->ce_config);
3391 ia_css_set_ecd_config(params, config->ecd_config);
3392 ia_css_set_ynr_config(params, config->ynr_config);
3393 ia_css_set_fc_config(params, config->fc_config);
3394 ia_css_set_cnr_config(params, config->cnr_config);
3395 ia_css_set_macc_config(params, config->macc_config);
3396 ia_css_set_ctc_config(params, config->ctc_config);
3397 ia_css_set_aa_config(params, config->aa_config);
3398 ia_css_set_yuv2rgb_config(params, config->yuv2rgb_cc_config);
3399 ia_css_set_rgb2yuv_config(params, config->rgb2yuv_cc_config);
3400 ia_css_set_csc_config(params, config->cc_config);
3401 ia_css_set_nr_config(params, config->nr_config);
3402 ia_css_set_gc_config(params, config->gc_config);
3403 ia_css_set_sdis_horicoef_config(params, config->dvs_coefs);
3404 ia_css_set_sdis_vertcoef_config(params, config->dvs_coefs);
3405 ia_css_set_sdis_horiproj_config(params, config->dvs_coefs);
3406 ia_css_set_sdis_vertproj_config(params, config->dvs_coefs);
3407 ia_css_set_sdis2_horicoef_config(params, config->dvs2_coefs);
3408 ia_css_set_sdis2_vertcoef_config(params, config->dvs2_coefs);
3409 ia_css_set_sdis2_horiproj_config(params, config->dvs2_coefs);
3410 ia_css_set_sdis2_vertproj_config(params, config->dvs2_coefs);
3411 ia_css_set_r_gamma_config(params, config->r_gamma_table);
3412 ia_css_set_g_gamma_config(params, config->g_gamma_table);
3413 ia_css_set_b_gamma_config(params, config->b_gamma_table);
3414 ia_css_set_xnr_table_config(params, config->xnr_table);
3415 ia_css_set_formats_config(params, config->formats_config);
3416 ia_css_set_xnr_config(params, config->xnr_config);
3417 ia_css_set_xnr3_config(params, config->xnr3_config);
3418 ia_css_set_s3a_config(params, config->s3a_config);
3419 ia_css_set_output_config(params, config->output_config);
3420}
3421