diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hw_fb_gp10b.h | 214 |
1 files changed, 213 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/hw_fb_gp10b.h b/drivers/gpu/nvgpu/gp10b/hw_fb_gp10b.h index d2ecdce1..2078bdca 100644 --- a/drivers/gpu/nvgpu/gp10b/hw_fb_gp10b.h +++ b/drivers/gpu/nvgpu/gp10b/hw_fb_gp10b.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved. | 2 | * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. |
3 | * | 3 | * |
4 | * This program is free software; you can redistribute it and/or modify it | 4 | * This program is free software; you can redistribute it and/or modify it |
5 | * under the terms and conditions of the GNU General Public License, | 5 | * under the terms and conditions of the GNU General Public License, |
@@ -122,6 +122,218 @@ static inline u32 fb_mmu_invalidate_all_pdb_true_f(void) | |||
122 | { | 122 | { |
123 | return 0x2; | 123 | return 0x2; |
124 | } | 124 | } |
125 | static inline u32 fb_mmu_invalidate_hubtlb_only_s(void) | ||
126 | { | ||
127 | return 1; | ||
128 | } | ||
129 | static inline u32 fb_mmu_invalidate_hubtlb_only_f(u32 v) | ||
130 | { | ||
131 | return (v & 0x1) << 2; | ||
132 | } | ||
133 | static inline u32 fb_mmu_invalidate_hubtlb_only_m(void) | ||
134 | { | ||
135 | return 0x1 << 2; | ||
136 | } | ||
137 | static inline u32 fb_mmu_invalidate_hubtlb_only_v(u32 r) | ||
138 | { | ||
139 | return (r >> 2) & 0x1; | ||
140 | } | ||
141 | static inline u32 fb_mmu_invalidate_hubtlb_only_true_f(void) | ||
142 | { | ||
143 | return 0x4; | ||
144 | } | ||
145 | static inline u32 fb_mmu_invalidate_replay_s(void) | ||
146 | { | ||
147 | return 3; | ||
148 | } | ||
149 | static inline u32 fb_mmu_invalidate_replay_f(u32 v) | ||
150 | { | ||
151 | return (v & 0x7) << 3; | ||
152 | } | ||
153 | static inline u32 fb_mmu_invalidate_replay_m(void) | ||
154 | { | ||
155 | return 0x7 << 3; | ||
156 | } | ||
157 | static inline u32 fb_mmu_invalidate_replay_v(u32 r) | ||
158 | { | ||
159 | return (r >> 3) & 0x7; | ||
160 | } | ||
161 | static inline u32 fb_mmu_invalidate_replay_none_f(void) | ||
162 | { | ||
163 | return 0x0; | ||
164 | } | ||
165 | static inline u32 fb_mmu_invalidate_replay_start_f(void) | ||
166 | { | ||
167 | return 0x8; | ||
168 | } | ||
169 | static inline u32 fb_mmu_invalidate_replay_start_ack_all_f(void) | ||
170 | { | ||
171 | return 0x10; | ||
172 | } | ||
173 | static inline u32 fb_mmu_invalidate_replay_cancel_targeted_f(void) | ||
174 | { | ||
175 | return 0x18; | ||
176 | } | ||
177 | static inline u32 fb_mmu_invalidate_replay_cancel_global_f(void) | ||
178 | { | ||
179 | return 0x20; | ||
180 | } | ||
181 | static inline u32 fb_mmu_invalidate_replay_cancel_f(void) | ||
182 | { | ||
183 | return 0x20; | ||
184 | } | ||
185 | static inline u32 fb_mmu_invalidate_sys_membar_s(void) | ||
186 | { | ||
187 | return 1; | ||
188 | } | ||
189 | static inline u32 fb_mmu_invalidate_sys_membar_f(u32 v) | ||
190 | { | ||
191 | return (v & 0x1) << 6; | ||
192 | } | ||
193 | static inline u32 fb_mmu_invalidate_sys_membar_m(void) | ||
194 | { | ||
195 | return 0x1 << 6; | ||
196 | } | ||
197 | static inline u32 fb_mmu_invalidate_sys_membar_v(u32 r) | ||
198 | { | ||
199 | return (r >> 6) & 0x1; | ||
200 | } | ||
201 | static inline u32 fb_mmu_invalidate_sys_membar_true_f(void) | ||
202 | { | ||
203 | return 0x40; | ||
204 | } | ||
205 | static inline u32 fb_mmu_invalidate_ack_s(void) | ||
206 | { | ||
207 | return 2; | ||
208 | } | ||
209 | static inline u32 fb_mmu_invalidate_ack_f(u32 v) | ||
210 | { | ||
211 | return (v & 0x3) << 7; | ||
212 | } | ||
213 | static inline u32 fb_mmu_invalidate_ack_m(void) | ||
214 | { | ||
215 | return 0x3 << 7; | ||
216 | } | ||
217 | static inline u32 fb_mmu_invalidate_ack_v(u32 r) | ||
218 | { | ||
219 | return (r >> 7) & 0x3; | ||
220 | } | ||
221 | static inline u32 fb_mmu_invalidate_ack_ack_none_required_f(void) | ||
222 | { | ||
223 | return 0x0; | ||
224 | } | ||
225 | static inline u32 fb_mmu_invalidate_ack_ack_intranode_f(void) | ||
226 | { | ||
227 | return 0x100; | ||
228 | } | ||
229 | static inline u32 fb_mmu_invalidate_ack_ack_globally_f(void) | ||
230 | { | ||
231 | return 0x80; | ||
232 | } | ||
233 | static inline u32 fb_mmu_invalidate_cancel_client_id_s(void) | ||
234 | { | ||
235 | return 6; | ||
236 | } | ||
237 | static inline u32 fb_mmu_invalidate_cancel_client_id_f(u32 v) | ||
238 | { | ||
239 | return (v & 0x3f) << 9; | ||
240 | } | ||
241 | static inline u32 fb_mmu_invalidate_cancel_client_id_m(void) | ||
242 | { | ||
243 | return 0x3f << 9; | ||
244 | } | ||
245 | static inline u32 fb_mmu_invalidate_cancel_client_id_v(u32 r) | ||
246 | { | ||
247 | return (r >> 9) & 0x3f; | ||
248 | } | ||
249 | static inline u32 fb_mmu_invalidate_cancel_gpc_id_s(void) | ||
250 | { | ||
251 | return 5; | ||
252 | } | ||
253 | static inline u32 fb_mmu_invalidate_cancel_gpc_id_f(u32 v) | ||
254 | { | ||
255 | return (v & 0x1f) << 15; | ||
256 | } | ||
257 | static inline u32 fb_mmu_invalidate_cancel_gpc_id_m(void) | ||
258 | { | ||
259 | return 0x1f << 15; | ||
260 | } | ||
261 | static inline u32 fb_mmu_invalidate_cancel_gpc_id_v(u32 r) | ||
262 | { | ||
263 | return (r >> 15) & 0x1f; | ||
264 | } | ||
265 | static inline u32 fb_mmu_invalidate_cancel_client_type_s(void) | ||
266 | { | ||
267 | return 1; | ||
268 | } | ||
269 | static inline u32 fb_mmu_invalidate_cancel_client_type_f(u32 v) | ||
270 | { | ||
271 | return (v & 0x1) << 20; | ||
272 | } | ||
273 | static inline u32 fb_mmu_invalidate_cancel_client_type_m(void) | ||
274 | { | ||
275 | return 0x1 << 20; | ||
276 | } | ||
277 | static inline u32 fb_mmu_invalidate_cancel_client_type_v(u32 r) | ||
278 | { | ||
279 | return (r >> 20) & 0x1; | ||
280 | } | ||
281 | static inline u32 fb_mmu_invalidate_cancel_client_type_gpc_f(void) | ||
282 | { | ||
283 | return 0x0; | ||
284 | } | ||
285 | static inline u32 fb_mmu_invalidate_cancel_client_type_hub_f(void) | ||
286 | { | ||
287 | return 0x100000; | ||
288 | } | ||
289 | static inline u32 fb_mmu_invalidate_cancel_cache_level_s(void) | ||
290 | { | ||
291 | return 3; | ||
292 | } | ||
293 | static inline u32 fb_mmu_invalidate_cancel_cache_level_f(u32 v) | ||
294 | { | ||
295 | return (v & 0x7) << 24; | ||
296 | } | ||
297 | static inline u32 fb_mmu_invalidate_cancel_cache_level_m(void) | ||
298 | { | ||
299 | return 0x7 << 24; | ||
300 | } | ||
301 | static inline u32 fb_mmu_invalidate_cancel_cache_level_v(u32 r) | ||
302 | { | ||
303 | return (r >> 24) & 0x7; | ||
304 | } | ||
305 | static inline u32 fb_mmu_invalidate_cancel_cache_level_all_f(void) | ||
306 | { | ||
307 | return 0x0; | ||
308 | } | ||
309 | static inline u32 fb_mmu_invalidate_cancel_cache_level_pte_only_f(void) | ||
310 | { | ||
311 | return 0x1000000; | ||
312 | } | ||
313 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde0_f(void) | ||
314 | { | ||
315 | return 0x2000000; | ||
316 | } | ||
317 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde1_f(void) | ||
318 | { | ||
319 | return 0x3000000; | ||
320 | } | ||
321 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde2_f(void) | ||
322 | { | ||
323 | return 0x4000000; | ||
324 | } | ||
325 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde3_f(void) | ||
326 | { | ||
327 | return 0x5000000; | ||
328 | } | ||
329 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde4_f(void) | ||
330 | { | ||
331 | return 0x6000000; | ||
332 | } | ||
333 | static inline u32 fb_mmu_invalidate_cancel_cache_level_up_to_pde5_f(void) | ||
334 | { | ||
335 | return 0x7000000; | ||
336 | } | ||
125 | static inline u32 fb_mmu_invalidate_trigger_s(void) | 337 | static inline u32 fb_mmu_invalidate_trigger_s(void) |
126 | { | 338 | { |
127 | return 1; | 339 | return 1; |