GNU Linux-libre 4.14.332-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / sc / sc_1.0 / ia_css_sc.host.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_SC_HOST_H
16 #define __IA_CSS_SC_HOST_H
17
18 #include "sh_css_params.h"
19
20 #include "ia_css_sc_types.h"
21 #include "ia_css_sc_param.h"
22
23 void
24 ia_css_sc_encode(
25         struct sh_css_isp_sc_params *to,
26         struct ia_css_shading_table **from,
27         unsigned size);
28
29 void
30 ia_css_sc_dump(
31         const struct sh_css_isp_sc_params *sc,
32         unsigned level);
33
34 #ifdef ISP2401
35 /** @brief Configure the shading correction.
36  * @param[out]  to      Parameters used in the shading correction kernel in the isp.
37  * @param[in]   from    Parameters passed from the host.
38  * @param[in]   size    Size of the sh_css_isp_sc_isp_config structure.
39  *
40  * This function passes the parameters for the shading correction from the host to the isp.
41  */
42 void
43 ia_css_sc_config(
44         struct sh_css_isp_sc_isp_config *to,
45         const struct ia_css_sc_configuration *from,
46         unsigned size);
47
48 /** @brief Configure the shading correction.
49  * @param[in]   binary  The binary, which has the shading correction.
50  * @param[in]   internal_frame_origin_x_bqs_on_sctbl
51  *                      X coordinate (in bqs) of the origin of the internal frame on the shading table.
52  * @param[in]   internal_frame_origin_y_bqs_on_sctbl
53  *                      Y coordinate (in bqs) of the origin of the internal frame on the shading table.
54  *
55  * This function calls the ia_css_configure_sc() function.
56  * (The ia_css_configure_sc() function is automatically generated in ia_css_isp.configs.c.)
57  * The ia_css_configure_sc() function calls the ia_css_sc_config() function
58  * to pass the parameters for the shading correction from the host to the isp.
59  */
60 void
61 ia_css_sc_configure(
62         const struct ia_css_binary *binary,
63         uint32_t internal_frame_origin_x_bqs_on_sctbl,
64         uint32_t internal_frame_origin_y_bqs_on_sctbl);
65
66 #endif
67 /* ------ deprecated(bz675) : from ------ */
68 void
69 sh_css_get_shading_settings(const struct ia_css_isp_parameters *params,
70                         struct ia_css_shading_settings *settings);
71
72 void
73 sh_css_set_shading_settings(struct ia_css_isp_parameters *params,
74                         const struct ia_css_shading_settings *settings);
75 /* ------ deprecated(bz675) : to ------ */
76
77 #endif /* __IA_CSS_SC_HOST_H */