diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c | 21 | ||||
-rw-r--r-- | include/uapi/linux/nvgpu.h | 3 |
2 files changed, 24 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 | ||
452 | static 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 | |||
452 | long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd, | 468 | long 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", |
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h index 6eca445c..d93f5a27 100644 --- a/include/uapi/linux/nvgpu.h +++ b/include/uapi/linux/nvgpu.h | |||
@@ -596,6 +596,9 @@ struct nvgpu_dbg_gpu_timeout_args { | |||
596 | #define NVGPU_DBG_GPU_IOCTL_TIMEOUT \ | 596 | #define NVGPU_DBG_GPU_IOCTL_TIMEOUT \ |
597 | _IOW(NVGPU_DBG_GPU_IOCTL_MAGIC, 10, struct nvgpu_dbg_gpu_timeout_args) | 597 | _IOW(NVGPU_DBG_GPU_IOCTL_MAGIC, 10, struct nvgpu_dbg_gpu_timeout_args) |
598 | 598 | ||
599 | #define NVGPU_DBG_GPU_IOCTL_GET_TIMEOUT \ | ||
600 | _IOR(NVGPU_DBG_GPU_IOCTL_MAGIC, 11, struct nvgpu_dbg_gpu_timeout_args) | ||
601 | |||
599 | #define NVGPU_DBG_GPU_IOCTL_LAST \ | 602 | #define NVGPU_DBG_GPU_IOCTL_LAST \ |
600 | _IOC_NR(NVGPU_DBG_GPU_IOCTL_TIMEOUT) | 603 | _IOC_NR(NVGPU_DBG_GPU_IOCTL_TIMEOUT) |
601 | #define NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE \ | 604 | #define NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE \ |