summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h
diff options
context:
space:
mode:
authorDavid Nieto <dmartineznie@nvidia.com>2017-05-26 17:36:26 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-04 23:34:58 -0400
commit3dc28cb1ab934ebcda33933086d7d0ffc8d1f907 (patch)
tree4a27e428220d8083992c07fb905b430f91162cf8 /drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h
parent345eaef6a76771da9c3e8a5e375fc9d659fb1b2b (diff)
gpu: nvgpu: add chip specific ECC counters
Add support for ECC counters for HUB MMU JIRA: GPUT19X-82 Change-Id: I691d5898d4db9fe2cd68f217baa646479ab5cb00 Signed-off-by: David Nieto <dmartineznie@nvidia.com> Reviewed-on: http://git-master/r/1490825 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h')
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h236
1 files changed, 236 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h
index 76b4e902..0ddccd45 100644
--- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h
+++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_fb_gv11b.h
@@ -466,6 +466,22 @@ static inline u32 fb_mmu_l2tlb_ecc_status_r(void)
466{ 466{
467 return 0x00100e70; 467 return 0x00100e70;
468} 468}
469static inline u32 fb_mmu_l2tlb_ecc_status_corrected_err_l2tlb_sa_data_m(void)
470{
471 return 0x1 << 0;
472}
473static inline u32 fb_mmu_l2tlb_ecc_status_uncorrected_err_l2tlb_sa_data_m(void)
474{
475 return 0x1 << 1;
476}
477static inline u32 fb_mmu_l2tlb_ecc_status_corrected_err_total_counter_overflow_m(void)
478{
479 return 0x1 << 16;
480}
481static inline u32 fb_mmu_l2tlb_ecc_status_uncorrected_err_total_counter_overflow_m(void)
482{
483 return 0x1 << 18;
484}
469static inline u32 fb_mmu_l2tlb_ecc_status_reset_f(u32 v) 485static inline u32 fb_mmu_l2tlb_ecc_status_reset_f(u32 v)
470{ 486{
471 return (v & 0x1) << 30; 487 return (v & 0x1) << 30;
@@ -474,10 +490,86 @@ static inline u32 fb_mmu_l2tlb_ecc_status_reset_clear_f(void)
474{ 490{
475 return 0x40000000; 491 return 0x40000000;
476} 492}
493static inline u32 fb_mmu_l2tlb_ecc_corrected_err_count_r(void)
494{
495 return 0x00100e74;
496}
497static inline u32 fb_mmu_l2tlb_ecc_corrected_err_count_total_s(void)
498{
499 return 16;
500}
501static inline u32 fb_mmu_l2tlb_ecc_corrected_err_count_total_f(u32 v)
502{
503 return (v & 0xffff) << 0;
504}
505static inline u32 fb_mmu_l2tlb_ecc_corrected_err_count_total_m(void)
506{
507 return 0xffff << 0;
508}
509static inline u32 fb_mmu_l2tlb_ecc_corrected_err_count_total_v(u32 r)
510{
511 return (r >> 0) & 0xffff;
512}
513static inline u32 fb_mmu_l2tlb_ecc_uncorrected_err_count_r(void)
514{
515 return 0x00100e78;
516}
517static inline u32 fb_mmu_l2tlb_ecc_uncorrected_err_count_total_s(void)
518{
519 return 16;
520}
521static inline u32 fb_mmu_l2tlb_ecc_uncorrected_err_count_total_f(u32 v)
522{
523 return (v & 0xffff) << 0;
524}
525static inline u32 fb_mmu_l2tlb_ecc_uncorrected_err_count_total_m(void)
526{
527 return 0xffff << 0;
528}
529static inline u32 fb_mmu_l2tlb_ecc_uncorrected_err_count_total_v(u32 r)
530{
531 return (r >> 0) & 0xffff;
532}
533static inline u32 fb_mmu_l2tlb_ecc_address_r(void)
534{
535 return 0x00100e7c;
536}
537static inline u32 fb_mmu_l2tlb_ecc_address_index_s(void)
538{
539 return 32;
540}
541static inline u32 fb_mmu_l2tlb_ecc_address_index_f(u32 v)
542{
543 return (v & 0xffffffff) << 0;
544}
545static inline u32 fb_mmu_l2tlb_ecc_address_index_m(void)
546{
547 return 0xffffffff << 0;
548}
549static inline u32 fb_mmu_l2tlb_ecc_address_index_v(u32 r)
550{
551 return (r >> 0) & 0xffffffff;
552}
477static inline u32 fb_mmu_hubtlb_ecc_status_r(void) 553static inline u32 fb_mmu_hubtlb_ecc_status_r(void)
478{ 554{
479 return 0x00100e84; 555 return 0x00100e84;
480} 556}
557static inline u32 fb_mmu_hubtlb_ecc_status_corrected_err_sa_data_m(void)
558{
559 return 0x1 << 0;
560}
561static inline u32 fb_mmu_hubtlb_ecc_status_uncorrected_err_sa_data_m(void)
562{
563 return 0x1 << 1;
564}
565static inline u32 fb_mmu_hubtlb_ecc_status_corrected_err_total_counter_overflow_m(void)
566{
567 return 0x1 << 16;
568}
569static inline u32 fb_mmu_hubtlb_ecc_status_uncorrected_err_total_counter_overflow_m(void)
570{
571 return 0x1 << 18;
572}
481static inline u32 fb_mmu_hubtlb_ecc_status_reset_f(u32 v) 573static inline u32 fb_mmu_hubtlb_ecc_status_reset_f(u32 v)
482{ 574{
483 return (v & 0x1) << 30; 575 return (v & 0x1) << 30;
@@ -486,10 +578,94 @@ static inline u32 fb_mmu_hubtlb_ecc_status_reset_clear_f(void)
486{ 578{
487 return 0x40000000; 579 return 0x40000000;
488} 580}
581static inline u32 fb_mmu_hubtlb_ecc_corrected_err_count_r(void)
582{
583 return 0x00100e88;
584}
585static inline u32 fb_mmu_hubtlb_ecc_corrected_err_count_total_s(void)
586{
587 return 16;
588}
589static inline u32 fb_mmu_hubtlb_ecc_corrected_err_count_total_f(u32 v)
590{
591 return (v & 0xffff) << 0;
592}
593static inline u32 fb_mmu_hubtlb_ecc_corrected_err_count_total_m(void)
594{
595 return 0xffff << 0;
596}
597static inline u32 fb_mmu_hubtlb_ecc_corrected_err_count_total_v(u32 r)
598{
599 return (r >> 0) & 0xffff;
600}
601static inline u32 fb_mmu_hubtlb_ecc_uncorrected_err_count_r(void)
602{
603 return 0x00100e8c;
604}
605static inline u32 fb_mmu_hubtlb_ecc_uncorrected_err_count_total_s(void)
606{
607 return 16;
608}
609static inline u32 fb_mmu_hubtlb_ecc_uncorrected_err_count_total_f(u32 v)
610{
611 return (v & 0xffff) << 0;
612}
613static inline u32 fb_mmu_hubtlb_ecc_uncorrected_err_count_total_m(void)
614{
615 return 0xffff << 0;
616}
617static inline u32 fb_mmu_hubtlb_ecc_uncorrected_err_count_total_v(u32 r)
618{
619 return (r >> 0) & 0xffff;
620}
621static inline u32 fb_mmu_hubtlb_ecc_address_r(void)
622{
623 return 0x00100e90;
624}
625static inline u32 fb_mmu_hubtlb_ecc_address_index_s(void)
626{
627 return 32;
628}
629static inline u32 fb_mmu_hubtlb_ecc_address_index_f(u32 v)
630{
631 return (v & 0xffffffff) << 0;
632}
633static inline u32 fb_mmu_hubtlb_ecc_address_index_m(void)
634{
635 return 0xffffffff << 0;
636}
637static inline u32 fb_mmu_hubtlb_ecc_address_index_v(u32 r)
638{
639 return (r >> 0) & 0xffffffff;
640}
489static inline u32 fb_mmu_fillunit_ecc_status_r(void) 641static inline u32 fb_mmu_fillunit_ecc_status_r(void)
490{ 642{
491 return 0x00100e98; 643 return 0x00100e98;
492} 644}
645static inline u32 fb_mmu_fillunit_ecc_status_corrected_err_pte_data_m(void)
646{
647 return 0x1 << 0;
648}
649static inline u32 fb_mmu_fillunit_ecc_status_uncorrected_err_pte_data_m(void)
650{
651 return 0x1 << 1;
652}
653static inline u32 fb_mmu_fillunit_ecc_status_corrected_err_pde0_data_m(void)
654{
655 return 0x1 << 2;
656}
657static inline u32 fb_mmu_fillunit_ecc_status_uncorrected_err_pde0_data_m(void)
658{
659 return 0x1 << 3;
660}
661static inline u32 fb_mmu_fillunit_ecc_status_corrected_err_total_counter_overflow_m(void)
662{
663 return 0x1 << 16;
664}
665static inline u32 fb_mmu_fillunit_ecc_status_uncorrected_err_total_counter_overflow_m(void)
666{
667 return 0x1 << 18;
668}
493static inline u32 fb_mmu_fillunit_ecc_status_reset_f(u32 v) 669static inline u32 fb_mmu_fillunit_ecc_status_reset_f(u32 v)
494{ 670{
495 return (v & 0x1) << 30; 671 return (v & 0x1) << 30;
@@ -498,6 +674,66 @@ static inline u32 fb_mmu_fillunit_ecc_status_reset_clear_f(void)
498{ 674{
499 return 0x40000000; 675 return 0x40000000;
500} 676}
677static inline u32 fb_mmu_fillunit_ecc_corrected_err_count_r(void)
678{
679 return 0x00100e9c;
680}
681static inline u32 fb_mmu_fillunit_ecc_corrected_err_count_total_s(void)
682{
683 return 16;
684}
685static inline u32 fb_mmu_fillunit_ecc_corrected_err_count_total_f(u32 v)
686{
687 return (v & 0xffff) << 0;
688}
689static inline u32 fb_mmu_fillunit_ecc_corrected_err_count_total_m(void)
690{
691 return 0xffff << 0;
692}
693static inline u32 fb_mmu_fillunit_ecc_corrected_err_count_total_v(u32 r)
694{
695 return (r >> 0) & 0xffff;
696}
697static inline u32 fb_mmu_fillunit_ecc_uncorrected_err_count_r(void)
698{
699 return 0x00100ea0;
700}
701static inline u32 fb_mmu_fillunit_ecc_uncorrected_err_count_total_s(void)
702{
703 return 16;
704}
705static inline u32 fb_mmu_fillunit_ecc_uncorrected_err_count_total_f(u32 v)
706{
707 return (v & 0xffff) << 0;
708}
709static inline u32 fb_mmu_fillunit_ecc_uncorrected_err_count_total_m(void)
710{
711 return 0xffff << 0;
712}
713static inline u32 fb_mmu_fillunit_ecc_uncorrected_err_count_total_v(u32 r)
714{
715 return (r >> 0) & 0xffff;
716}
717static inline u32 fb_mmu_fillunit_ecc_address_r(void)
718{
719 return 0x00100ea4;
720}
721static inline u32 fb_mmu_fillunit_ecc_address_index_s(void)
722{
723 return 32;
724}
725static inline u32 fb_mmu_fillunit_ecc_address_index_f(u32 v)
726{
727 return (v & 0xffffffff) << 0;
728}
729static inline u32 fb_mmu_fillunit_ecc_address_index_m(void)
730{
731 return 0xffffffff << 0;
732}
733static inline u32 fb_mmu_fillunit_ecc_address_index_v(u32 r)
734{
735 return (r >> 0) & 0xffffffff;
736}
501static inline u32 fb_niso_flush_sysmem_addr_r(void) 737static inline u32 fb_niso_flush_sysmem_addr_r(void)
502{ 738{
503 return 0x00100c10; 739 return 0x00100c10;