GNU Linux-libre 4.14.332-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / dpc2 / ia_css_dpc2_param.h
1 /*
2  * Support for Intel Camera Imaging ISP subsystem.
3  * Copyright (c) 2015, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  */
14
15 #ifndef __IA_CSS_DPC2_PARAM_H
16 #define __IA_CSS_DPC2_PARAM_H
17
18 #include "type_support.h"
19 #include "vmem.h" /* for VMEM_ARRAY*/
20
21
22 /* 4 planes : GR, R, B, GB */
23 #define NUM_PLANES              4
24
25 /* ToDo: Move this to testsetup */
26 #define MAX_FRAME_SIMDWIDTH     30
27
28 /* 3 lines state per color plane input_line_state */
29 #define DPC2_STATE_INPUT_BUFFER_HEIGHT  (3 * NUM_PLANES)
30 /* Each plane has width equal to half frame line */
31 #define DPC2_STATE_INPUT_BUFFER_WIDTH   CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2)
32
33 /* 1 line state per color plane for local deviation state*/
34 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_HEIGHT        (1 * NUM_PLANES)
35 /* Each plane has width equal to half frame line */
36 #define DPC2_STATE_LOCAL_DEVIATION_BUFFER_WIDTH         CEIL_DIV(MAX_FRAME_SIMDWIDTH, 2)
37
38 /* MINMAX state buffer stores 1 full input line (GR-R color line) */
39 #define DPC2_STATE_SECOND_MINMAX_BUFFER_HEIGHT  1
40 #define DPC2_STATE_SECOND_MINMAX_BUFFER_WIDTH   MAX_FRAME_SIMDWIDTH
41
42
43 struct ia_css_isp_dpc2_params {
44         int32_t metric1;
45         int32_t metric2;
46         int32_t metric3;
47         int32_t wb_gain_gr;
48         int32_t wb_gain_r;
49         int32_t wb_gain_b;
50         int32_t wb_gain_gb;
51 };
52
53 #endif /* __IA_CSS_DPC2_PARAM_H */