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_TNR_HOST_H
17#define __IA_CSS_TNR_HOST_H
18
19#include "ia_css_binary.h"
20#include "ia_css_tnr_state.h"
21#include "ia_css_tnr_types.h"
22#include "ia_css_tnr_param.h"
23
24extern const struct ia_css_tnr_config default_tnr_config;
25
26void
27ia_css_tnr_encode(
28    struct sh_css_isp_tnr_params *to,
29    const struct ia_css_tnr_config *from,
30    unsigned int size);
31
32void
33ia_css_tnr_dump(
34    const struct sh_css_isp_tnr_params *tnr,
35    unsigned int level);
36
37void
38ia_css_tnr_debug_dtrace(
39    const struct ia_css_tnr_config *config,
40    unsigned int level);
41
42int ia_css_tnr_config(struct sh_css_isp_tnr_isp_config      *to,
43		      const struct ia_css_tnr_configuration *from,
44		      unsigned int size);
45
46int ia_css_tnr_configure(const struct ia_css_binary        *binary,
47			 const struct ia_css_frame * const *frames);
48
49void
50ia_css_init_tnr_state(
51    struct sh_css_isp_tnr_dmem_state *state,
52    size_t size);
53#endif /* __IA_CSS_TNR_HOST_H */
54