Linux-libre 4.15.7-gnu
[librecmc/linux-libre.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / hive_isp_css_include / host / ibuf_ctrl_public.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 __IBUF_CTRL_PUBLIC_H_INCLUDED__
16 #define __IBUF_CTRL_PUBLIC_H_INCLUDED__
17
18 #ifdef USE_INPUT_SYSTEM_VERSION_2401
19 /*****************************************************
20  *
21  * Native command interface (NCI).
22  *
23  *****************************************************/
24 /**
25  * @brief Get the ibuf-controller state.
26  * Get the state of the ibuf-controller regiester-set.
27  *
28  * @param[in]   id              The global unique ID of the input-buffer controller.
29  * @param[out]  state   Point to the register-state.
30  */
31 STORAGE_CLASS_IBUF_CTRL_H void ibuf_ctrl_get_state(
32                 const ibuf_ctrl_ID_t ID,
33                 ibuf_ctrl_state_t *state);
34
35 /**
36  * @brief Get the state of the ibuf-controller process.
37  * Get the state of the register set per buf-controller process.
38  *
39  * @param[in]   id                      The global unique ID of the input-buffer controller.
40  * @param[in]   proc_id         The process ID.
41  * @param[out]  state           Point to the process state.
42  */
43 STORAGE_CLASS_IBUF_CTRL_H void ibuf_ctrl_get_proc_state(
44                 const ibuf_ctrl_ID_t ID,
45                 const uint32_t proc_id,
46                 ibuf_ctrl_proc_state_t *state);
47 /**
48  * @brief Dump the ibuf-controller state.
49  * Dump the state of the ibuf-controller regiester-set.
50  *
51  * @param[in]   id              The global unique ID of the input-buffer controller.
52  * @param[in]   state           Pointer to the register-state.
53  */
54 STORAGE_CLASS_IBUF_CTRL_H void ibuf_ctrl_dump_state(
55                 const ibuf_ctrl_ID_t ID,
56                 ibuf_ctrl_state_t *state);
57 /* end of NCI */
58
59 /*****************************************************
60  *
61  * Device level interface (DLI).
62  *
63  *****************************************************/
64 /**
65  * @brief Load the register value.
66  * Load the value of the register of the ibuf-controller.
67  *
68  * @param[in]   ID      The global unique ID for the ibuf-controller instance.
69  * @param[in]   reg     The offet address of the register.
70  *
71  * @return the value of the register.
72  */
73 STORAGE_CLASS_IBUF_CTRL_H hrt_data ibuf_ctrl_reg_load(
74         const ibuf_ctrl_ID_t ID,
75         const hrt_address reg);
76
77 /**
78  * @brief Store a value to the register.
79  * Store a value to the registe of the ibuf-controller.
80  *
81  * @param[in]   ID              The global unique ID for the ibuf-controller instance.
82  * @param[in]   reg             The offet address of the register.
83  * @param[in]   value   The value to be stored.
84  *
85  */
86 STORAGE_CLASS_IBUF_CTRL_H void ibuf_ctrl_reg_store(
87         const ibuf_ctrl_ID_t ID,
88         const hrt_address reg,
89         const hrt_data value);
90 /* end of DLI */
91
92 #endif /* USE_INPUT_SYSTEM_VERSION_2401 */
93 #endif /* __IBUF_CTRL_PUBLIC_H_INCLUDED__ */