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_S3A_HOST_H
17#define __IA_CSS_S3A_HOST_H
18
19#include "ia_css_s3a_types.h"
20#include "ia_css_s3a_param.h"
21#include "bh/bh_2/ia_css_bh.host.h"
22
23extern const struct ia_css_3a_config default_3a_config;
24
25void
26ia_css_s3a_configure(
27    unsigned int raw_bit_depth);
28
29void
30ia_css_s3a_encode(
31    struct sh_css_isp_s3a_params *to,
32    const struct ia_css_3a_config *from,
33    unsigned int size);
34
35#ifndef IA_CSS_NO_DEBUG
36void
37ia_css_ae_dump(
38    const struct sh_css_isp_ae_params *ae,
39    unsigned int level);
40
41void
42ia_css_awb_dump(
43    const struct sh_css_isp_awb_params *awb,
44    unsigned int level);
45
46void
47ia_css_af_dump(
48    const struct sh_css_isp_af_params *af,
49    unsigned int level);
50
51void
52ia_css_s3a_dump(
53    const struct sh_css_isp_s3a_params *s3a,
54    unsigned int level);
55
56void
57ia_css_s3a_debug_dtrace(
58    const struct ia_css_3a_config *config,
59    unsigned int level);
60#endif
61
62void
63ia_css_s3a_hmem_decode(
64    struct ia_css_3a_statistics *host_stats,
65    const struct ia_css_bh_table *hmem_buf);
66
67void
68ia_css_s3a_dmem_decode(
69    struct ia_css_3a_statistics *host_stats,
70    const struct ia_css_3a_output *isp_stats);
71
72void
73ia_css_s3a_vmem_decode(
74    struct ia_css_3a_statistics *host_stats,
75    const u16 *isp_stats_hi,
76    const uint16_t *isp_stats_lo);
77
78#endif /* __IA_CSS_S3A_HOST_H */
79