xref: /openbsd-src/sys/dev/pci/drm/include/linux/io-mapping.h (revision c06a237e078d02c4750754caec779aa0389e30c5)
17f4dd379Sjsg /* Public domain. */
27f4dd379Sjsg 
37f4dd379Sjsg #ifndef _LINUX_IO_MAPPING_H
47f4dd379Sjsg #define _LINUX_IO_MAPPING_H
57f4dd379Sjsg 
6347f24fdSjsg #include <linux/types.h>
7347f24fdSjsg 
8347f24fdSjsg struct io_mapping {
9347f24fdSjsg 	resource_size_t base;
10347f24fdSjsg 	unsigned long size;
11347f24fdSjsg 	void *iomem;
12347f24fdSjsg };
13347f24fdSjsg 
14347f24fdSjsg static inline void *
io_mapping_map_wc(struct io_mapping * map,unsigned long off,unsigned long size)15347f24fdSjsg io_mapping_map_wc(struct io_mapping *map, unsigned long off, unsigned long size)
16347f24fdSjsg {
17347f24fdSjsg 	return ((uint8_t *)map->iomem + off);
18347f24fdSjsg }
19347f24fdSjsg 
20347f24fdSjsg static inline void
io_mapping_unmap(void * va)21347f24fdSjsg io_mapping_unmap(void *va)
22347f24fdSjsg {
23347f24fdSjsg }
24347f24fdSjsg 
25347f24fdSjsg static inline void *
io_mapping_map_local_wc(struct io_mapping * map,unsigned long off)26347f24fdSjsg io_mapping_map_local_wc(struct io_mapping *map, unsigned long off)
27347f24fdSjsg {
28347f24fdSjsg 	return ((uint8_t *)map->iomem + off);
29347f24fdSjsg }
30347f24fdSjsg 
31347f24fdSjsg static inline void
io_mapping_unmap_local(void * va)32347f24fdSjsg io_mapping_unmap_local(void *va)
33347f24fdSjsg {
34347f24fdSjsg }
35347f24fdSjsg 
36*c06a237eSjsg static inline void *
io_mapping_map_atomic_wc(struct io_mapping * map,unsigned long off)37*c06a237eSjsg io_mapping_map_atomic_wc(struct io_mapping *map, unsigned long off)
38*c06a237eSjsg {
39*c06a237eSjsg 	return ((uint8_t *)map->iomem + off);
40*c06a237eSjsg }
41*c06a237eSjsg 
42*c06a237eSjsg static inline void
io_mapping_unmap_atomic(void * va)43*c06a237eSjsg io_mapping_unmap_atomic(void *va)
44*c06a237eSjsg {
45*c06a237eSjsg }
46*c06a237eSjsg 
477f4dd379Sjsg #endif
48