diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 8 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_gr_gv11b.h | 32 |
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 | } |
1115 | static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_f(u32 v) | ||
1116 | { | ||
1117 | return (v & 0x1U) << 4U; | ||
1118 | } | ||
1119 | static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_pixprf_task_f(void) | ||
1120 | { | ||
1121 | return 0x10U; | ||
1122 | } | ||
1123 | static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_f(u32 v) | ||
1124 | { | ||
1125 | return (v & 0x1U) << 5U; | ||
1126 | } | ||
1127 | static inline u32 gr_pri_gpcs_tpcs_sm_l1_tag_ecc_control_scrub_miss_fifo_task_f(void) | ||
1128 | { | ||
1129 | return 0x20U; | ||
1130 | } | ||
1115 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_r(void) | 1131 | static 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 | } |
1151 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_f(u32 v) | ||
1152 | { | ||
1153 | return (v & 0x1U) << 4U; | ||
1154 | } | ||
1155 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_pixprf_init_f(void) | ||
1156 | { | ||
1157 | return 0x0U; | ||
1158 | } | ||
1159 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_f(u32 v) | ||
1160 | { | ||
1161 | return (v & 0x1U) << 5U; | ||
1162 | } | ||
1163 | static inline u32 gr_pri_gpc0_tpc0_sm_l1_tag_ecc_control_scrub_miss_fifo_init_f(void) | ||
1164 | { | ||
1165 | return 0x0U; | ||
1166 | } | ||
1135 | static inline u32 gr_pri_gpcs_tpcs_sm_cbu_ecc_control_r(void) | 1167 | static inline u32 gr_pri_gpcs_tpcs_sm_cbu_ecc_control_r(void) |
1136 | { | 1168 | { |
1137 | return 0x00419e34U; | 1169 | return 0x00419e34U; |