Merge tag 'powerpc-4.15-7' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[sfrench/cifs-2.6.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / hive_isp_css_include / host / isys_stream2mmio_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 __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__
16 #define __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__
17
18 /*****************************************************
19  *
20  * Native command interface (NCI).
21  *
22  *****************************************************/
23 /**
24  * @brief Get the stream2mmio-controller state.
25  * Get the state of the stream2mmio-controller regiester-set.
26  *
27  * @param[in]   id              The global unique ID of the steeam2mmio controller.
28  * @param[out]  state   Point to the register-state.
29  */
30 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_get_state(
31                 const stream2mmio_ID_t ID,
32                 stream2mmio_state_t *state);
33
34 /**
35  * @brief Get the state of the stream2mmio-controller sidess.
36  * Get the state of the register set per buf-controller sidess.
37  *
38  * @param[in]   id              The global unique ID of the steeam2mmio controller.
39  * @param[in]   sid_id          The sid ID.
40  * @param[out]  state           Point to the sid state.
41  */
42 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_get_sid_state(
43                 const stream2mmio_ID_t ID,
44                 const stream2mmio_sid_ID_t sid_id,
45                 stream2mmio_sid_state_t *state);
46 /* end of NCI */
47
48 /*****************************************************
49  *
50  * Device level interface (DLI).
51  *
52  *****************************************************/
53 /**
54  * @brief Load the register value.
55  * Load the value of the register of the stream2mmio-controller.
56  *
57  * @param[in]   ID      The global unique ID for the stream2mmio-controller instance.
58  * @param[in]   sid_id  The SID in question.
59  * @param[in]   reg_idx The offet address of the register.
60  *
61  * @return the value of the register.
62  */
63 STORAGE_CLASS_STREAM2MMIO_H hrt_data stream2mmio_reg_load(
64                 const stream2mmio_ID_t ID,
65                 const stream2mmio_sid_ID_t sid_id,
66                 const uint32_t reg_idx);
67
68 /**
69  * @brief Dump the SID processor state.
70  * Dump the state of the sid regiester-set.
71  *
72  * @param[in]   state           Pointer to the register-state.
73  */
74 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_print_sid_state(
75                 stream2mmio_sid_state_t *state);
76 /**
77  * @brief Dump the stream2mmio state.
78  * Dump the state of the ibuf-controller regiester-set.
79  *
80  * @param[in]   id              The global unique ID of the st2mmio
81  * @param[in]   state           Pointer to the register-state.
82  */
83 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_dump_state(
84                 const stream2mmio_ID_t ID,
85                 stream2mmio_state_t *state);
86 /**
87  * @brief Store a value to the register.
88  * Store a value to the registe of the stream2mmio-controller.
89  *
90  * @param[in]   ID              The global unique ID for the stream2mmio-controller instance.
91  * @param[in]   reg             The offet address of the register.
92  * @param[in]   value   The value to be stored.
93  *
94  */
95 STORAGE_CLASS_STREAM2MMIO_H void stream2mmio_reg_store(
96                 const stream2mmio_ID_t ID,
97                 const hrt_address reg,
98                 const hrt_data value);
99 /* end of DLI */
100
101 #endif /* __ISYS_STREAM2MMIO_PUBLIC_H_INCLUDED__ */