summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
authorAlex Waterman <alexw@nvidia.com>2014-05-30 17:14:59 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:10 -0400
commitead2962f42a2c8772591b20c0e153d4ba7fb2203 (patch)
treeba2b19a1129067d98ff069fce69b1243bfb0244b /drivers/gpu/nvgpu
parent15860d77a496772b06266f278476e339b82815e9 (diff)
gpu: nvgpu: Add cache management registers
Add the necessary cache management registers for doing a full L2 flush in GM20b. Bug 1512176 Change-Id: I7799e5e584238a0af02abbf4f49917d7590d97dc Signed-off-by: Alex Waterman <alexw@nvidia.com> Reviewed-on: http://git-master/r/417260 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r--drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h204
1 files changed, 204 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h b/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h
index 9840805d..7f1a8e69 100644
--- a/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h
+++ b/drivers/gpu/nvgpu/gm20b/hw_ltc_gm20b.h
@@ -278,4 +278,208 @@ static inline u32 ltc_ltc0_ltss_intr_r(void)
278{ 278{
279 return 0x0014020c; 279 return 0x0014020c;
280} 280}
281static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_r(void)
282{
283 return 0x0017e2a0;
284}
285static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_v(u32 r)
286{
287 return (r >> 0) & 0x1;
288}
289static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_pending_v(void)
290{
291 return 0x00000001;
292}
293static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_pending_f(void)
294{
295 return 0x1;
296}
297static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_max_cycles_between_invalidates_v(u32 r)
298{
299 return (r >> 8) & 0xf;
300}
301static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_max_cycles_between_invalidates_3_v(void)
302{
303 return 0x00000003;
304}
305static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_max_cycles_between_invalidates_3_f(void)
306{
307 return 0x300;
308}
309static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_last_class_v(u32 r)
310{
311 return (r >> 28) & 0x1;
312}
313static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_last_class_true_v(void)
314{
315 return 0x00000001;
316}
317static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_last_class_true_f(void)
318{
319 return 0x10000000;
320}
321static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_normal_class_v(u32 r)
322{
323 return (r >> 29) & 0x1;
324}
325static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_normal_class_true_v(void)
326{
327 return 0x00000001;
328}
329static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_normal_class_true_f(void)
330{
331 return 0x20000000;
332}
333static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_first_class_v(u32 r)
334{
335 return (r >> 30) & 0x1;
336}
337static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_first_class_true_v(void)
338{
339 return 0x00000001;
340}
341static inline u32 ltc_ltcs_ltss_tstg_cmgmt0_invalidate_evict_first_class_true_f(void)
342{
343 return 0x40000000;
344}
345static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_r(void)
346{
347 return 0x0017e2a4;
348}
349static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_v(u32 r)
350{
351 return (r >> 0) & 0x1;
352}
353static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_pending_v(void)
354{
355 return 0x00000001;
356}
357static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_pending_f(void)
358{
359 return 0x1;
360}
361static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_max_cycles_between_cleans_v(u32 r)
362{
363 return (r >> 8) & 0xf;
364}
365static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_max_cycles_between_cleans_3_v(void)
366{
367 return 0x00000003;
368}
369static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_max_cycles_between_cleans_3_f(void)
370{
371 return 0x300;
372}
373static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_wait_for_fb_to_pull_v(u32 r)
374{
375 return (r >> 16) & 0x1;
376}
377static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_wait_for_fb_to_pull_true_v(void)
378{
379 return 0x00000001;
380}
381static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_wait_for_fb_to_pull_true_f(void)
382{
383 return 0x10000;
384}
385static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_last_class_v(u32 r)
386{
387 return (r >> 28) & 0x1;
388}
389static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_last_class_true_v(void)
390{
391 return 0x00000001;
392}
393static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_last_class_true_f(void)
394{
395 return 0x10000000;
396}
397static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_normal_class_v(u32 r)
398{
399 return (r >> 29) & 0x1;
400}
401static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_normal_class_true_v(void)
402{
403 return 0x00000001;
404}
405static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_normal_class_true_f(void)
406{
407 return 0x20000000;
408}
409static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_first_class_v(u32 r)
410{
411 return (r >> 30) & 0x1;
412}
413static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_first_class_true_v(void)
414{
415 return 0x00000001;
416}
417static inline u32 ltc_ltcs_ltss_tstg_cmgmt1_clean_evict_first_class_true_f(void)
418{
419 return 0x40000000;
420}
421static inline u32 ltc_ltc0_ltss_tstg_cmgmt0_r(void)
422{
423 return 0x001402a0;
424}
425static inline u32 ltc_ltc0_ltss_tstg_cmgmt0_invalidate_v(u32 r)
426{
427 return (r >> 0) & 0x1;
428}
429static inline u32 ltc_ltc0_ltss_tstg_cmgmt0_invalidate_pending_v(void)
430{
431 return 0x00000001;
432}
433static inline u32 ltc_ltc0_ltss_tstg_cmgmt0_invalidate_pending_f(void)
434{
435 return 0x1;
436}
437static inline u32 ltc_ltc0_ltss_tstg_cmgmt1_r(void)
438{
439 return 0x001402a4;
440}
441static inline u32 ltc_ltc0_ltss_tstg_cmgmt1_clean_v(u32 r)
442{
443 return (r >> 0) & 0x1;
444}
445static inline u32 ltc_ltc0_ltss_tstg_cmgmt1_clean_pending_v(void)
446{
447 return 0x00000001;
448}
449static inline u32 ltc_ltc0_ltss_tstg_cmgmt1_clean_pending_f(void)
450{
451 return 0x1;
452}
453static inline u32 ltc_ltc1_ltss_tstg_cmgmt0_r(void)
454{
455 return 0x001422a0;
456}
457static inline u32 ltc_ltc1_ltss_tstg_cmgmt0_invalidate_v(u32 r)
458{
459 return (r >> 0) & 0x1;
460}
461static inline u32 ltc_ltc1_ltss_tstg_cmgmt0_invalidate_pending_v(void)
462{
463 return 0x00000001;
464}
465static inline u32 ltc_ltc1_ltss_tstg_cmgmt0_invalidate_pending_f(void)
466{
467 return 0x1;
468}
469static inline u32 ltc_ltc1_ltss_tstg_cmgmt1_r(void)
470{
471 return 0x001422a4;
472}
473static inline u32 ltc_ltc1_ltss_tstg_cmgmt1_clean_v(u32 r)
474{
475 return (r >> 0) & 0x1;
476}
477static inline u32 ltc_ltc1_ltss_tstg_cmgmt1_clean_pending_v(void)
478{
479 return 0x00000001;
480}
481static inline u32 ltc_ltc1_ltss_tstg_cmgmt1_clean_pending_f(void)
482{
483 return 0x1;
484}
281#endif 485#endif