diff options
author | Lakshmanan M <lm@nvidia.com> | 2017-05-17 02:12:24 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-05-18 12:04:51 -0400 |
commit | 5a08eafbe076fba98de62883636ee6b0751cf7e9 (patch) | |
tree | 34d9406e93c5988b2dfe4a7ee7bbc042dd3a8507 /drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | |
parent | d503a234440b0b5912f64314de68689b3211bbcd (diff) |
gpu: nvgpu: gv11b: Add L1 DATA + iCACHE parity
This CL covers the following parity support (uncorrected error),
1) SM's L1 DATA
2) SM's L0 && L1 icache
Volta Resiliency Id - Volta-634
JIRA GPUT19X-113
JIRA GPUT19X-99
Bug 1807553
Change-Id: Iacbf492028983529dadc5753007e43510b8cb786
Signed-off-by: Lakshmanan M <lm@nvidia.com>
Reviewed-on: http://git-master/r/1483681
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h index 4b2e8c32..4ce69743 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | |||
@@ -582,6 +582,134 @@ static inline u32 gr_pri_gpc0_tpc0_sm_lrf_ecc_uncorrected_err_count_total_v(u32 | |||
582 | { | 582 | { |
583 | return (r >> 0) & 0xffff; | 583 | return (r >> 0) & 0xffff; |
584 | } | 584 | } |
585 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_r(void) | ||
586 | { | ||
587 | return 0x0050436c; | ||
588 | } | ||
589 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_corrected_err_el1_0_m(void) | ||
590 | { | ||
591 | return 0x1 << 0; | ||
592 | } | ||
593 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_corrected_err_el1_1_m(void) | ||
594 | { | ||
595 | return 0x1 << 1; | ||
596 | } | ||
597 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_uncorrected_err_el1_0_m(void) | ||
598 | { | ||
599 | return 0x1 << 2; | ||
600 | } | ||
601 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_uncorrected_err_el1_1_m(void) | ||
602 | { | ||
603 | return 0x1 << 3; | ||
604 | } | ||
605 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_corrected_err_total_counter_overflow_v(u32 r) | ||
606 | { | ||
607 | return (r >> 8) & 0x1; | ||
608 | } | ||
609 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_uncorrected_err_total_counter_overflow_v(u32 r) | ||
610 | { | ||
611 | return (r >> 10) & 0x1; | ||
612 | } | ||
613 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_reset_task_f(void) | ||
614 | { | ||
615 | return 0x40000000; | ||
616 | } | ||
617 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_r(void) | ||
618 | { | ||
619 | return 0x00504370; | ||
620 | } | ||
621 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_total_s(void) | ||
622 | { | ||
623 | return 16; | ||
624 | } | ||
625 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_total_v(u32 r) | ||
626 | { | ||
627 | return (r >> 0) & 0xffff; | ||
628 | } | ||
629 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_r(void) | ||
630 | { | ||
631 | return 0x00504374; | ||
632 | } | ||
633 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_total_s(void) | ||
634 | { | ||
635 | return 16; | ||
636 | } | ||
637 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_total_v(u32 r) | ||
638 | { | ||
639 | return (r >> 0) & 0xffff; | ||
640 | } | ||
641 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_r(void) | ||
642 | { | ||
643 | return 0x0050464c; | ||
644 | } | ||
645 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l0_data_m(void) | ||
646 | { | ||
647 | return 0x1 << 0; | ||
648 | } | ||
649 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l0_predecode_m(void) | ||
650 | { | ||
651 | return 0x1 << 1; | ||
652 | } | ||
653 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l1_data_m(void) | ||
654 | { | ||
655 | return 0x1 << 2; | ||
656 | } | ||
657 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l1_predecode_m(void) | ||
658 | { | ||
659 | return 0x1 << 3; | ||
660 | } | ||
661 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l0_data_m(void) | ||
662 | { | ||
663 | return 0x1 << 4; | ||
664 | } | ||
665 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l0_predecode_m(void) | ||
666 | { | ||
667 | return 0x1 << 5; | ||
668 | } | ||
669 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l1_data_m(void) | ||
670 | { | ||
671 | return 0x1 << 6; | ||
672 | } | ||
673 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l1_predecode_m(void) | ||
674 | { | ||
675 | return 0x1 << 7; | ||
676 | } | ||
677 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_total_counter_overflow_v(u32 r) | ||
678 | { | ||
679 | return (r >> 16) & 0x1; | ||
680 | } | ||
681 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_total_counter_overflow_v(u32 r) | ||
682 | { | ||
683 | return (r >> 18) & 0x1; | ||
684 | } | ||
685 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_reset_task_f(void) | ||
686 | { | ||
687 | return 0x40000000; | ||
688 | } | ||
689 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_r(void) | ||
690 | { | ||
691 | return 0x00504650; | ||
692 | } | ||
693 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_total_s(void) | ||
694 | { | ||
695 | return 16; | ||
696 | } | ||
697 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_total_v(u32 r) | ||
698 | { | ||
699 | return (r >> 0) & 0xffff; | ||
700 | } | ||
701 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_r(void) | ||
702 | { | ||
703 | return 0x00504654; | ||
704 | } | ||
705 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_total_s(void) | ||
706 | { | ||
707 | return 16; | ||
708 | } | ||
709 | static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_total_v(u32 r) | ||
710 | { | ||
711 | return (r >> 0) & 0xffff; | ||
712 | } | ||
585 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_status_r(void) | 713 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_status_r(void) |
586 | { | 714 | { |
587 | return 0x00504624; | 715 | return 0x00504624; |