diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2015-12-21 04:51:49 -0500 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-04-19 11:07:45 -0400 |
commit | b63c4bced5b01e2aef477ecfca784848e2a2cd3a (patch) | |
tree | 4309e72334876236efc29fd57bda6f49599c7732 /include/uapi/linux | |
parent | dfac8ce70464413c0e3748634c57d49950e71933 (diff) |
gpu: nvgpu: IOCTL to suspend/resume context
Add below IOCTL to suspend/resume a context
NVGPU_DBG_GPU_IOCTL_SUSPEND_RESUME_CONTEXTS:
Suspend sequence :
- disable ctxsw
- loop through list of channels
- if channel is ctx resident, suspend all SMs
- otherwise, disable channel/TSG
- enable ctxsw
Resume sequence :
- disable ctxsw
- loop through list of channels
- if channel is ctx resident, resume all SMs
- otherwise, enable channel/TSG
- enable ctxsw
Bug 200156699
Change-Id: Iacf1bf7877b67ddf87cc6891c37c758a4644b014
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/1120332
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r-- | include/uapi/linux/nvgpu.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h index 36616913..9f4bf43c 100644 --- a/include/uapi/linux/nvgpu.h +++ b/include/uapi/linux/nvgpu.h | |||
@@ -738,8 +738,22 @@ struct nvgpu_dbg_gpu_unbind_channel_args { | |||
738 | _IOW(NVGPU_DBG_GPU_IOCTL_MAGIC, 17, struct nvgpu_dbg_gpu_unbind_channel_args) | 738 | _IOW(NVGPU_DBG_GPU_IOCTL_MAGIC, 17, struct nvgpu_dbg_gpu_unbind_channel_args) |
739 | 739 | ||
740 | 740 | ||
741 | #define NVGPU_DBG_GPU_SUSPEND_ALL_CONTEXTS 1 | ||
742 | #define NVGPU_DBG_GPU_RESUME_ALL_CONTEXTS 2 | ||
743 | |||
744 | struct nvgpu_dbg_gpu_suspend_resume_contexts_args { | ||
745 | __u32 action; | ||
746 | __u32 is_resident_context; | ||
747 | __s32 resident_context_fd; | ||
748 | __u32 padding; | ||
749 | }; | ||
750 | |||
751 | #define NVGPU_DBG_GPU_IOCTL_SUSPEND_RESUME_CONTEXTS \ | ||
752 | _IOWR(NVGPU_DBG_GPU_IOCTL_MAGIC, 18, struct nvgpu_dbg_gpu_suspend_resume_contexts_args) | ||
753 | |||
754 | |||
741 | #define NVGPU_DBG_GPU_IOCTL_LAST \ | 755 | #define NVGPU_DBG_GPU_IOCTL_LAST \ |
742 | _IOC_NR(NVGPU_DBG_GPU_IOCTL_UNBIND_CHANNEL) | 756 | _IOC_NR(NVGPU_DBG_GPU_IOCTL_SUSPEND_RESUME_CONTEXTS) |
743 | 757 | ||
744 | #define NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE \ | 758 | #define NVGPU_DBG_GPU_IOCTL_MAX_ARG_SIZE \ |
745 | sizeof(struct nvgpu_dbg_gpu_perfbuf_map_args) | 759 | sizeof(struct nvgpu_dbg_gpu_perfbuf_map_args) |