summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index 1c351d9e..1397549e 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -449,6 +449,22 @@ static int nvgpu_dbg_gpu_ioctl_timeout(struct dbg_session_gk20a *dbg_s,
449 return err; 449 return err;
450} 450}
451 451
452static void nvgpu_dbg_gpu_ioctl_get_timeout(struct dbg_session_gk20a *dbg_s,
453 struct nvgpu_dbg_gpu_timeout_args *args)
454{
455 int status;
456 struct gk20a *g = get_gk20a(dbg_s->pdev);
457
458 mutex_lock(&g->dbg_sessions_lock);
459 status = g->timeouts_enabled;
460 mutex_unlock(&g->dbg_sessions_lock);
461
462 if (status)
463 args->enable = NVGPU_DBG_GPU_IOCTL_TIMEOUT_ENABLE;
464 else
465 args->enable = NVGPU_DBG_GPU_IOCTL_TIMEOUT_DISABLE;
466}
467
452long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd, 468long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd,
453 unsigned long arg) 469 unsigned long arg)
454{ 470{
@@ -531,6 +547,11 @@ long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd,
531 (struct nvgpu_dbg_gpu_timeout_args *)buf); 547 (struct nvgpu_dbg_gpu_timeout_args *)buf);
532 break; 548 break;
533 549
550 case NVGPU_DBG_GPU_IOCTL_GET_TIMEOUT:
551 nvgpu_dbg_gpu_ioctl_get_timeout(dbg_s,
552 (struct nvgpu_dbg_gpu_timeout_args *)buf);
553 break;
554
534 default: 555 default:
535 gk20a_err(dev_from_gk20a(g), 556 gk20a_err(dev_from_gk20a(g),
536 "unrecognized dbg gpu ioctl cmd: 0x%x", 557 "unrecognized dbg gpu ioctl cmd: 0x%x",