summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2017-05-17 02:12:24 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-18 12:04:51 -0400
commit5a08eafbe076fba98de62883636ee6b0751cf7e9 (patch)
tree34d9406e93c5988b2dfe4a7ee7bbc042dd3a8507 /drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h
parentd503a234440b0b5912f64314de68689b3211bbcd (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.h128
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}
585static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_r(void)
586{
587 return 0x0050436c;
588}
589static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_corrected_err_el1_0_m(void)
590{
591 return 0x1 << 0;
592}
593static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_corrected_err_el1_1_m(void)
594{
595 return 0x1 << 1;
596}
597static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_uncorrected_err_el1_0_m(void)
598{
599 return 0x1 << 2;
600}
601static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_uncorrected_err_el1_1_m(void)
602{
603 return 0x1 << 3;
604}
605static 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}
609static 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}
613static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_status_reset_task_f(void)
614{
615 return 0x40000000;
616}
617static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_r(void)
618{
619 return 0x00504370;
620}
621static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_total_s(void)
622{
623 return 16;
624}
625static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_corrected_err_count_total_v(u32 r)
626{
627 return (r >> 0) & 0xffff;
628}
629static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_r(void)
630{
631 return 0x00504374;
632}
633static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_total_s(void)
634{
635 return 16;
636}
637static inline u32 gr_pri_gpc0_tpc0_sm_l1_data_ecc_uncorrected_err_count_total_v(u32 r)
638{
639 return (r >> 0) & 0xffff;
640}
641static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_r(void)
642{
643 return 0x0050464c;
644}
645static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l0_data_m(void)
646{
647 return 0x1 << 0;
648}
649static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l0_predecode_m(void)
650{
651 return 0x1 << 1;
652}
653static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l1_data_m(void)
654{
655 return 0x1 << 2;
656}
657static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_corrected_err_l1_predecode_m(void)
658{
659 return 0x1 << 3;
660}
661static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l0_data_m(void)
662{
663 return 0x1 << 4;
664}
665static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l0_predecode_m(void)
666{
667 return 0x1 << 5;
668}
669static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l1_data_m(void)
670{
671 return 0x1 << 6;
672}
673static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_uncorrected_err_l1_predecode_m(void)
674{
675 return 0x1 << 7;
676}
677static 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}
681static 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}
685static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_status_reset_task_f(void)
686{
687 return 0x40000000;
688}
689static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_r(void)
690{
691 return 0x00504650;
692}
693static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_total_s(void)
694{
695 return 16;
696}
697static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_corrected_err_count_total_v(u32 r)
698{
699 return (r >> 0) & 0xffff;
700}
701static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_r(void)
702{
703 return 0x00504654;
704}
705static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_total_s(void)
706{
707 return 16;
708}
709static inline u32 gr_pri_gpc0_tpc0_sm_icache_ecc_uncorrected_err_count_total_v(u32 r)
710{
711 return (r >> 0) & 0xffff;
712}
585static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_status_r(void) 713static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_status_r(void)
586{ 714{
587 return 0x00504624; 715 return 0x00504624;