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_DVS_HOST_H
8 #define __IA_CSS_DVS_HOST_H
9 
10 #include "ia_css_frame_public.h"
11 #include "ia_css_binary.h"
12 #include "sh_css_params.h"
13 
14 #include "ia_css_types.h"
15 #include "ia_css_dvs_types.h"
16 #include "ia_css_dvs_param.h"
17 
18 /* For bilinear interpolation, we need to add +1 to input block height calculation.
19  * For bicubic interpolation, we will need to add +3 instaed */
20 #define DVS_GDC_BLI_INTERP_ENVELOPE 1
21 #define DVS_GDC_BCI_INTERP_ENVELOPE 3
22 
23 void
24 ia_css_dvs_config(
25     struct sh_css_isp_dvs_isp_config      *to,
26     const struct ia_css_dvs_configuration *from,
27     unsigned int size);
28 
29 int ia_css_dvs_configure(const struct ia_css_binary     *binary,
30 			 const struct ia_css_frame_info *from);
31 
32 void
33 convert_dvs_6axis_config(
34     struct ia_css_isp_parameters *params,
35     const struct ia_css_binary *binary);
36 
37 struct ia_css_host_data *
38 convert_allocate_dvs_6axis_config(
39     const struct ia_css_dvs_6axis_config *dvs_6axis_config,
40     const struct ia_css_binary *binary,
41     const struct ia_css_frame_info *dvs_in_frame_info);
42 
43 int
44 store_dvs_6axis_config(
45     const struct ia_css_dvs_6axis_config *dvs_6axis_config,
46     const struct ia_css_binary *binary,
47     const struct ia_css_frame_info *dvs_in_frame_info,
48     ia_css_ptr ddr_addr_y);
49 
50 #endif /* __IA_CSS_DVS_HOST_H */
51