1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  */
15 
16 #ifndef __IA_CSS_SC_HOST_H
17 #define __IA_CSS_SC_HOST_H
18 
19 #include "sh_css_params.h"
20 
21 #include "ia_css_sc_types.h"
22 #include "ia_css_sc_param.h"
23 
24 void
25 ia_css_sc_encode(
26     struct sh_css_isp_sc_params *to,
27     struct ia_css_shading_table **from,
28     unsigned int size);
29 
30 void
31 ia_css_sc_dump(
32     const struct sh_css_isp_sc_params *sc,
33     unsigned int level);
34 
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 /* ISP2401 */
43 void
44 ia_css_sc_config(
45     struct sh_css_isp_sc_isp_config *to,
46     const struct ia_css_sc_configuration *from,
47     unsigned int size);
48 
49 /* @brief Configure the shading correction.
50  * @param[in]	binary	The binary, which has the shading correction.
51  * @param[in]	internal_frame_origin_x_bqs_on_sctbl
52  *			X coordinate (in bqs) of the origin of the internal frame on the shading table.
53  * @param[in]	internal_frame_origin_y_bqs_on_sctbl
54  *			Y coordinate (in bqs) of the origin of the internal frame on the shading table.
55  *
56  * This function calls the ia_css_configure_sc() function.
57  * (The ia_css_configure_sc() function is automatically generated in ia_css_isp.configs.c.)
58  * The ia_css_configure_sc() function calls the ia_css_sc_config() function
59  * to pass the parameters for the shading correction from the host to the isp.
60  */
61 /* ISP2401 */
62 void
63 ia_css_sc_configure(
64     const struct ia_css_binary *binary,
65     u32 internal_frame_origin_x_bqs_on_sctbl,
66     uint32_t internal_frame_origin_y_bqs_on_sctbl);
67 
68 /* ------ deprecated(bz675) : from ------ */
69 void
70 sh_css_get_shading_settings(const struct ia_css_isp_parameters *params,
71 			    struct ia_css_shading_settings *settings);
72 
73 void
74 sh_css_set_shading_settings(struct ia_css_isp_parameters *params,
75 			    const struct ia_css_shading_settings *settings);
76 /* ------ deprecated(bz675) : to ------ */
77 
78 #endif /* __IA_CSS_SC_HOST_H */
79