summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c8
-rw-r--r--drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h32
2 files changed, 38 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index fe0584f6..56d223dd 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -3811,12 +3811,16 @@ static int gr_gv11b_ecc_scrub_sm_l1_tag(struct gk20a *g)
3811 nvgpu_log_info(g, "gr_gv11b_ecc_scrub_sm_l1_tag"); 3811 nvgpu_log_info(g, "gr_gv11b_ecc_scrub_sm_l1_tag");
3812 scrub_mask = 3812 scrub_mask =
3813 (gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_0_task_f() | 3813 (gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_0_task_f() |
3814 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_1_task_f()); 3814 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_1_task_f() |
3815 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_task_f() |
3816 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_task_f());
3815 gk20a_writel(g, gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_r(), scrub_mask); 3817 gk20a_writel(g, gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_r(), scrub_mask);
3816 3818
3817 scrub_done = 3819 scrub_done =
3818 (gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_0_init_f() | 3820 (gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_0_init_f() |
3819 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_1_init_f()); 3821 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_1_init_f() |
3822 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_init_f() |
3823 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_init_f());
3820 return gr_gv11b_ecc_scrub_is_done(g, 3824 return gr_gv11b_ecc_scrub_is_done(g,
3821 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(), 3825 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(),
3822 scrub_mask, scrub_done); 3826 scrub_mask, scrub_done);
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 29999163..1e82456f 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
@@ -1112,6 +1112,22 @@ static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_el1_1_task_f(void
1112{ 1112{
1113 return 0x2U; 1113 return 0x2U;
1114} 1114}
1115static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_f(u32 v)
1116{
1117 return (v & 0x1U) << 4U;
1118}
1119static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_task_f(void)
1120{
1121 return 0x10U;
1122}
1123static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_f(u32 v)
1124{
1125 return (v & 0x1U) << 5U;
1126}
1127static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_task_f(void)
1128{
1129 return 0x20U;
1130}
1115static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(void) 1131static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(void)
1116{ 1132{
1117 return 0x00504620U; 1133 return 0x00504620U;
@@ -1132,6 +1148,22 @@ static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_el1_1_init_f(void
1132{ 1148{
1133 return 0x0U; 1149 return 0x0U;
1134} 1150}
1151static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_f(u32 v)
1152{
1153 return (v & 0x1U) << 4U;
1154}
1155static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_init_f(void)
1156{
1157 return 0x0U;
1158}
1159static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_f(u32 v)
1160{
1161 return (v & 0x1U) << 5U;
1162}
1163static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_init_f(void)
1164{
1165 return 0x0U;
1166}
1135static inline u32 gr_pri_gpcs_tpcs_sm_cbu_ecc_control_r(void) 1167static inline u32 gr_pri_gpcs_tpcs_sm_cbu_ecc_control_r(void)
1136{ 1168{
1137 return 0x00419e34U; 1169 return 0x00419e34U;