GNU Linux-libre 4.14.290-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / ob / ob_1.0 / ia_css_ob_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_OB_PARAM_H
16 #define __IA_CSS_OB_PARAM_H
17
18 #include "type_support.h"
19 #include "vmem.h"
20
21 #define OBAREA_MASK_SIZE 64
22 #define OBAREA_LENGTHBQ_INVERSE_SHIFT     12
23
24 /* AREA_LENGTH_UNIT is dependent on NWAY, requires rewrite */
25 #define AREA_LENGTH_UNIT (1<<12)
26
27
28 /* OB (Optical Black) */
29 struct sh_css_isp_ob_stream_config {
30         unsigned isp_pipe_version;
31         unsigned raw_bit_depth;
32 };
33
34 struct sh_css_isp_ob_params {
35         int32_t blacklevel_gr;
36         int32_t blacklevel_r;
37         int32_t blacklevel_b;
38         int32_t blacklevel_gb;
39         int32_t area_start_bq;
40         int32_t area_length_bq;
41         int32_t area_length_bq_inverse;
42 };
43
44 struct sh_css_isp_ob_vmem_params {
45         VMEM_ARRAY(vmask, OBAREA_MASK_SIZE);
46 };
47
48 #endif /* __IA_CSS_OB_PARAM_H */