Merge remote-tracking branches 'asoc/topic/mc13783', 'asoc/topic/msm8916', 'asoc...
[linux-2.6-block.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / isp / kernels / sc / sc_1.0 / ia_css_sc.host.h
CommitLineData
a49d2536
AC
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
23void
24ia_css_sc_encode(
25 struct sh_css_isp_sc_params *to,
26 struct ia_css_shading_table **from,
27 unsigned size);
28
29void
30ia_css_sc_dump(
31 const struct sh_css_isp_sc_params *sc,
32 unsigned level);
33
34#ifdef ISP2401
d929fb4e 35/* @brief Configure the shading correction.
a49d2536
AC
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 */
42void
43ia_css_sc_config(
44 struct sh_css_isp_sc_isp_config *to,
45 const struct ia_css_sc_configuration *from,
46 unsigned size);
47
d929fb4e 48/* @brief Configure the shading correction.
a49d2536
AC
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 */
60void
61ia_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 ------ */
68void
69sh_css_get_shading_settings(const struct ia_css_isp_parameters *params,
70 struct ia_css_shading_settings *settings);
71
72void
73sh_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 */