| @@ -2078,26 +2078,36 @@ DRM_READ16(struct drm_local_map *map, bu | | | @@ -2078,26 +2078,36 @@ DRM_READ16(struct drm_local_map *map, bu |
2078 | return *(volatile uint16_t *)((vaddr_t)map->handle + offset); | | 2078 | return *(volatile uint16_t *)((vaddr_t)map->handle + offset); |
2079 | } | | 2079 | } |
2080 | | | 2080 | |
2081 | static inline uint32_t | | 2081 | static inline uint32_t |
2082 | DRM_READ32(struct drm_local_map *map, bus_size_t offset) | | 2082 | DRM_READ32(struct drm_local_map *map, bus_size_t offset) |
2083 | { | | 2083 | { |
2084 | if (DRM_IS_BUS_SPACE(map)) | | 2084 | if (DRM_IS_BUS_SPACE(map)) |
2085 | return bus_space_read_4(map->lm_data.bus_space.bst, | | 2085 | return bus_space_read_4(map->lm_data.bus_space.bst, |
2086 | map->lm_data.bus_space.bsh, offset); | | 2086 | map->lm_data.bus_space.bsh, offset); |
2087 | else | | 2087 | else |
2088 | return *(volatile uint32_t *)((vaddr_t)map->handle + offset); | | 2088 | return *(volatile uint32_t *)((vaddr_t)map->handle + offset); |
2089 | } | | 2089 | } |
2090 | | | 2090 | |
| | | 2091 | static inline uint64_t |
| | | 2092 | DRM_READ64(struct drm_local_map *map, bus_size_t offset) |
| | | 2093 | { |
| | | 2094 | if (DRM_IS_BUS_SPACE(map)) |
| | | 2095 | return bus_space_read_8(map->lm_data.bus_space.bst, |
| | | 2096 | map->lm_data.bus_space.bsh, offset); |
| | | 2097 | else |
| | | 2098 | return *(volatile uint64_t *)((vaddr_t)map->handle + offset); |
| | | 2099 | } |
| | | 2100 | |
2091 | static inline void | | 2101 | static inline void |
2092 | DRM_WRITE8(struct drm_local_map *map, bus_size_t offset, uint8_t value) | | 2102 | DRM_WRITE8(struct drm_local_map *map, bus_size_t offset, uint8_t value) |
2093 | { | | 2103 | { |
2094 | if (DRM_IS_BUS_SPACE(map)) | | 2104 | if (DRM_IS_BUS_SPACE(map)) |
2095 | bus_space_write_1(map->lm_data.bus_space.bst, | | 2105 | bus_space_write_1(map->lm_data.bus_space.bst, |
2096 | map->lm_data.bus_space.bsh, offset, value); | | 2106 | map->lm_data.bus_space.bsh, offset, value); |
2097 | else | | 2107 | else |
2098 | *(volatile uint8_t *)((vaddr_t)map->handle + offset) = value; | | 2108 | *(volatile uint8_t *)((vaddr_t)map->handle + offset) = value; |
2099 | } | | 2109 | } |
2100 | | | 2110 | |
2101 | static inline void | | 2111 | static inline void |
2102 | DRM_WRITE16(struct drm_local_map *map, bus_size_t offset, uint16_t value) | | 2112 | DRM_WRITE16(struct drm_local_map *map, bus_size_t offset, uint16_t value) |
2103 | { | | 2113 | { |
| @@ -2107,17 +2117,27 @@ DRM_WRITE16(struct drm_local_map *map, b | | | @@ -2107,17 +2117,27 @@ DRM_WRITE16(struct drm_local_map *map, b |
2107 | else | | 2117 | else |
2108 | *(volatile uint16_t *)((vaddr_t)map->handle + offset) = value; | | 2118 | *(volatile uint16_t *)((vaddr_t)map->handle + offset) = value; |
2109 | } | | 2119 | } |
2110 | | | 2120 | |
2111 | static inline void | | 2121 | static inline void |
2112 | DRM_WRITE32(struct drm_local_map *map, bus_size_t offset, uint32_t value) | | 2122 | DRM_WRITE32(struct drm_local_map *map, bus_size_t offset, uint32_t value) |
2113 | { | | 2123 | { |
2114 | if (DRM_IS_BUS_SPACE(map)) | | 2124 | if (DRM_IS_BUS_SPACE(map)) |
2115 | bus_space_write_4(map->lm_data.bus_space.bst, | | 2125 | bus_space_write_4(map->lm_data.bus_space.bst, |
2116 | map->lm_data.bus_space.bsh, offset, value); | | 2126 | map->lm_data.bus_space.bsh, offset, value); |
2117 | else | | 2127 | else |
2118 | *(volatile uint32_t *)((vaddr_t)map->handle + offset) = value; | | 2128 | *(volatile uint32_t *)((vaddr_t)map->handle + offset) = value; |
2119 | } | | 2129 | } |
| | | 2130 | |
| | | 2131 | static inline void |
| | | 2132 | DRM_WRITE64(struct drm_local_map *map, bus_size_t offset, uint64_t value) |
| | | 2133 | { |
| | | 2134 | if (DRM_IS_BUS_SPACE(map)) |
| | | 2135 | bus_space_write_8(map->lm_data.bus_space.bst, |
| | | 2136 | map->lm_data.bus_space.bsh, offset, value); |
| | | 2137 | else |
| | | 2138 | *(volatile uint64_t *)((vaddr_t)map->handle + offset) = value; |
| | | 2139 | } |
2120 | #endif /* defined(__NetBSD__) */ | | 2140 | #endif /* defined(__NetBSD__) */ |
2121 | | | 2141 | |
2122 | #endif /* __KERNEL__ */ | | 2142 | #endif /* __KERNEL__ */ |
2123 | #endif | | 2143 | #endif |