This source file includes following definitions.
- dcr_map_ok_mmio
- dcr_read_mmio
- dcr_write_mmio
1
2
3
4
5
6
7 #ifndef _ASM_POWERPC_DCR_MMIO_H
8 #define _ASM_POWERPC_DCR_MMIO_H
9 #ifdef __KERNEL__
10
11 #include <asm/io.h>
12
13 typedef struct {
14 void __iomem *token;
15 unsigned int stride;
16 unsigned int base;
17 } dcr_host_mmio_t;
18
19 static inline bool dcr_map_ok_mmio(dcr_host_mmio_t host)
20 {
21 return host.token != NULL;
22 }
23
24 extern dcr_host_mmio_t dcr_map_mmio(struct device_node *dev,
25 unsigned int dcr_n,
26 unsigned int dcr_c);
27 extern void dcr_unmap_mmio(dcr_host_mmio_t host, unsigned int dcr_c);
28
29 static inline u32 dcr_read_mmio(dcr_host_mmio_t host, unsigned int dcr_n)
30 {
31 return in_be32(host.token + ((host.base + dcr_n) * host.stride));
32 }
33
34 static inline void dcr_write_mmio(dcr_host_mmio_t host,
35 unsigned int dcr_n,
36 u32 value)
37 {
38 out_be32(host.token + ((host.base + dcr_n) * host.stride), value);
39 }
40
41 #endif
42 #endif
43
44