1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  */
6 
7 #ifndef __IA_CSS_DPC2_PARAM_H
8 #define __IA_CSS_DPC2_PARAM_H
9 
10 #include "type_support.h"
11 #include "vmem.h" /* for VMEM_ARRAY*/
12 
13 /* 4 planes : GR, R, B, GB */
14 #define NUM_PLANES		4
15 
16 /* ToDo: Move this to testsetup */
17 #define MAX_FRAME_SIMDWIDTH	30
18 
19 /* 3 lines state per color plane input_line_state */
20 #define DPC2_STATE_INPUT_BUFFER_HEIGHT	(3 * NUM_PLANES)
21 /* Each plane has width equal to half frame line */
22 #define DPC2_STATE_INPUT_BUFFER_WIDTH	CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2)
23 
24 /* 1 line state per color plane for local deviation state*/
25 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_HEIGHT	(1 * NUM_PLANES)
26 /* Each plane has width equal to half frame line */
27 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_WIDTH		CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2)
28 
29 /* MINMAX state buffer stores 1 full input line (GR-R color line) */
30 #define DPC2_STATE_SECOND_MINMAX_BUFFER_HEIGHT	1
31 #define DPC2_STATE_SECOND_MINMAX_BUFFER_WIDTH	MAX_FRAME_SIMDWIDTH
32 
33 struct ia_css_isp_dpc2_params {
34 	s32 metric1;
35 	s32 metric2;
36 	s32 metric3;
37 	s32 wb_gain_gr;
38 	s32 wb_gain_r;
39 	s32 wb_gain_b;
40 	s32 wb_gain_gb;
41 };
42 
43 #endif /* __IA_CSS_DPC2_PARAM_H */
44