summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/ioctl_dbg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/ioctl_dbg.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/ioctl_dbg.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/common/linux/ioctl_dbg.c
index ebb869c3..eb6156da 100644
--- a/drivers/gpu/nvgpu/common/linux/ioctl_dbg.c
+++ b/drivers/gpu/nvgpu/common/linux/ioctl_dbg.c
@@ -256,6 +256,8 @@ static int nvgpu_dbg_gpu_ioctl_write_single_sm_error_state(
256 if (sm_id >= gr->no_of_sm) 256 if (sm_id >= gr->no_of_sm)
257 return -EINVAL; 257 return -EINVAL;
258 258
259 nvgpu_speculation_barrier();
260
259 if (args->sm_error_state_record_size > 0) { 261 if (args->sm_error_state_record_size > 0) {
260 size_t read_size = sizeof(sm_error_state_record); 262 size_t read_size = sizeof(sm_error_state_record);
261 263
@@ -312,6 +314,8 @@ static int nvgpu_dbg_gpu_ioctl_read_single_sm_error_state(
312 if (sm_id >= gr->no_of_sm) 314 if (sm_id >= gr->no_of_sm)
313 return -EINVAL; 315 return -EINVAL;
314 316
317 nvgpu_speculation_barrier();
318
315 sm_error_state = gr->sm_error_states + sm_id; 319 sm_error_state = gr->sm_error_states + sm_id;
316 sm_error_state_record.hww_global_esr = 320 sm_error_state_record.hww_global_esr =
317 sm_error_state->hww_global_esr; 321 sm_error_state->hww_global_esr;
@@ -1432,10 +1436,11 @@ static int nvgpu_dbg_gpu_ioctl_clear_single_sm_error_state(
1432 return -EINVAL; 1436 return -EINVAL;
1433 1437
1434 sm_id = args->sm_id; 1438 sm_id = args->sm_id;
1435
1436 if (sm_id >= gr->no_of_sm) 1439 if (sm_id >= gr->no_of_sm)
1437 return -EINVAL; 1440 return -EINVAL;
1438 1441
1442 nvgpu_speculation_barrier();
1443
1439 err = gk20a_busy(g); 1444 err = gk20a_busy(g);
1440 if (err) 1445 if (err)
1441 return err; 1446 return err;