GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / staging / media / atomisp / pci / ia_css_device_access.h
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_DEVICE_ACCESS_H
17 #define _IA_CSS_DEVICE_ACCESS_H
18
19 /* @file
20  * File containing internal functions for the CSS-API to access the CSS device.
21  */
22
23 #include <type_support.h> /* for uint*, size_t */
24 #include <system_local.h> /* for hrt_address */
25 #include <ia_css_env.h>   /* for ia_css_hw_access_env */
26
27 void
28 ia_css_device_access_init(const struct ia_css_hw_access_env *env);
29
30 uint8_t
31 ia_css_device_load_uint8(const hrt_address addr);
32
33 uint16_t
34 ia_css_device_load_uint16(const hrt_address addr);
35
36 uint32_t
37 ia_css_device_load_uint32(const hrt_address addr);
38
39 uint64_t
40 ia_css_device_load_uint64(const hrt_address addr);
41
42 void
43 ia_css_device_store_uint8(const hrt_address addr, const uint8_t data);
44
45 void
46 ia_css_device_store_uint16(const hrt_address addr, const uint16_t data);
47
48 void
49 ia_css_device_store_uint32(const hrt_address addr, const uint32_t data);
50
51 void
52 ia_css_device_store_uint64(const hrt_address addr, const uint64_t data);
53
54 void
55 ia_css_device_load(const hrt_address addr, void *data, const size_t size);
56
57 void
58 ia_css_device_store(const hrt_address addr, const void *data,
59                     const size_t size);
60
61 #endif /* _IA_CSS_DEVICE_ACCESS_H */