summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLakshmanan M <lm@nvidia.com>2016-06-09 01:00:16 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-06-13 10:45:19 -0400
commita295d90cac87949256b629e29f97fa5e28a1feb3 (patch)
tree7c1a104c0a0594869955074fe8abe86097cacae8 /include
parent987de665838f6b4aceadf52f076b91da4cc633ca (diff)
gpu: nvgpu: Add uapi support for non-graphics engines
Extend the existing NVGPU_GPU_IOCTL_OPEN_CHANNEL interface to allow opening channels for other than the primary (i.e., the graphics) runlists. This is required to push work to dGPU engines that have their own runlists, such as the asynchronous copy engines and the multimedia engines. Minor change - Added active_engines_list allocation and assignment for fifo_vgpu back end. JIRA DNVGPU-25 Change-Id: I3ed377e2c9a2b4dd72e8256463510a62c64e7a8f Signed-off-by: Lakshmanan M <lm@nvidia.com> Reviewed-on: http://git-master/r/1161541 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/uapi/linux/nvgpu.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index 9d649536..992355d9 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -298,7 +298,20 @@ struct nvgpu_gpu_get_tpc_masks_args {
298}; 298};
299 299
300struct nvgpu_gpu_open_channel_args { 300struct nvgpu_gpu_open_channel_args {
301 __s32 channel_fd; 301 union {
302 __s32 channel_fd; /* deprecated: use out.channel_fd instead */
303 struct {
304 /* runlist_id is the runlist for the
305 * channel. Basically, the runlist specifies the target
306 * engine(s) for which the channel is
307 * opened. Runlist_id -1 is synonym for the primary
308 * graphics runlist. */
309 __s32 runlist_id;
310 } in;
311 struct {
312 __s32 channel_fd;
313 } out;
314 };
302}; 315};
303 316
304/* L2 cache writeback, optionally invalidate clean lines and flush fb */ 317/* L2 cache writeback, optionally invalidate clean lines and flush fb */
@@ -820,7 +833,20 @@ struct nvgpu_get_param_args {
820} __packed; 833} __packed;
821 834
822struct nvgpu_channel_open_args { 835struct nvgpu_channel_open_args {
823 __s32 channel_fd; 836 union {
837 __s32 channel_fd; /* deprecated: use out.channel_fd instead */
838 struct {
839 /* runlist_id is the runlist for the
840 * channel. Basically, the runlist specifies the target
841 * engine(s) for which the channel is
842 * opened. Runlist_id -1 is synonym for the primary
843 * graphics runlist. */
844 __s32 runlist_id;
845 } in;
846 struct {
847 __s32 channel_fd;
848 } out;
849 };
824}; 850};
825 851
826struct nvgpu_set_nvmap_fd_args { 852struct nvgpu_set_nvmap_fd_args {