summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index f8c31bd3..a13b9a2c 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -1224,6 +1224,16 @@ static void gr_gp10b_get_access_map(struct gk20a *g,
1224 *num_entries = ARRAY_SIZE(wl_addr_gp10b); 1224 *num_entries = ARRAY_SIZE(wl_addr_gp10b);
1225} 1225}
1226 1226
1227static u32 gp10b_mask_hww_warp_esr(u32 hww_warp_esr)
1228{
1229 if (!(hww_warp_esr & gr_gpc0_tpc0_sm_hww_warp_esr_addr_valid_m()))
1230 hww_warp_esr = set_field(hww_warp_esr,
1231 gr_gpc0_tpc0_sm_hww_warp_esr_addr_error_type_m(),
1232 gr_gpc0_tpc0_sm_hww_warp_esr_addr_error_type_none_f());
1233
1234 return hww_warp_esr;
1235}
1236
1227void gp10b_init_gr(struct gpu_ops *gops) 1237void gp10b_init_gr(struct gpu_ops *gops)
1228{ 1238{
1229 gm20b_init_gr(gops); 1239 gm20b_init_gr(gops);
@@ -1256,4 +1266,5 @@ void gp10b_init_gr(struct gpu_ops *gops)
1256 gops->gr.get_access_map = gr_gp10b_get_access_map; 1266 gops->gr.get_access_map = gr_gp10b_get_access_map;
1257 gops->gr.handle_sm_exception = gr_gp10b_handle_sm_exception; 1267 gops->gr.handle_sm_exception = gr_gp10b_handle_sm_exception;
1258 gops->gr.handle_tex_exception = gr_gp10b_handle_tex_exception; 1268 gops->gr.handle_tex_exception = gr_gp10b_handle_tex_exception;
1269 gops->gr.mask_hww_warp_esr = gp10b_mask_hww_warp_esr;
1259} 1270}