diff options
author | Konsta Holtta <kholtta@nvidia.com> | 2017-05-02 09:01:51 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-05-05 10:54:18 -0400 |
commit | ee9733e587d977610975435a84e5af7cabba8870 (patch) | |
tree | 6515a93b3fd6267d1e9626469816747359b197e8 /include | |
parent | 744e2d202e2d38b0d8ff8b55e1e84daf75e39b48 (diff) |
gpu: nvgpu: expose deterministic submit support
Add these bits in the gpu characteristics flags:
NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_NO_JOBTRACKING - fast
submits with no in-kernel job tracking are supported.
NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_FULL - deterministic
submits also with job tracking and num_inflight_jobs set are supported.
Either of these may get disabled if the particular channel or submit
still requires features that block these.
Make gk20a_channel_sync_needs_sync_framework() take a gk20a pointer
instead of a channel pointer so that it can be called without a channel.
It does not need any per-channel data.
Bug 200291300
Change-Id: I5f82510b6d39b53bcf6f1006dd83bdd9053963a0
Signed-off-by: Konsta Holtta <kholtta@nvidia.com>
Reviewed-on: http://git-master/r/1456845
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/uapi/linux/nvgpu.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h index e25667cb..401722b1 100644 --- a/include/uapi/linux/nvgpu.h +++ b/include/uapi/linux/nvgpu.h | |||
@@ -137,6 +137,10 @@ struct nvgpu_gpu_zbc_query_table_args { | |||
137 | #define NVGPU_GPU_FLAGS_SUPPORT_FECS_CTXSW_TRACE (1ULL << 16) | 137 | #define NVGPU_GPU_FLAGS_SUPPORT_FECS_CTXSW_TRACE (1ULL << 16) |
138 | /* NVGPU_AS_IOCTL_MAP_BUFFER_COMPBITS is available */ | 138 | /* NVGPU_AS_IOCTL_MAP_BUFFER_COMPBITS is available */ |
139 | #define NVGPU_GPU_FLAGS_SUPPORT_MAP_COMPBITS (1ULL << 17) | 139 | #define NVGPU_GPU_FLAGS_SUPPORT_MAP_COMPBITS (1ULL << 17) |
140 | /* Fast deterministic submits with no job tracking are supported */ | ||
141 | #define NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_NO_JOBTRACKING (1ULL << 18) | ||
142 | /* Deterministic submits are supported even with job tracking */ | ||
143 | #define NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_FULL (1ULL << 19) | ||
140 | 144 | ||
141 | struct nvgpu_gpu_characteristics { | 145 | struct nvgpu_gpu_characteristics { |
142 | __u32 arch; | 146 | __u32 arch; |
@@ -1348,8 +1352,22 @@ struct nvgpu_alloc_gpfifo_args { | |||
1348 | struct nvgpu_alloc_gpfifo_ex_args { | 1352 | struct nvgpu_alloc_gpfifo_ex_args { |
1349 | __u32 num_entries; | 1353 | __u32 num_entries; |
1350 | __u32 num_inflight_jobs; | 1354 | __u32 num_inflight_jobs; |
1351 | #define NVGPU_ALLOC_GPFIFO_EX_FLAGS_VPR_ENABLED (1 << 0) /* set owner channel of this gpfifo as a vpr channel */ | 1355 | /* Set owner channel of this gpfifo as a vpr channel. */ |
1352 | #define NVGPU_ALLOC_GPFIFO_EX_FLAGS_DETERMINISTIC (1 << 1) /* channel shall exhibit deterministic behavior in the submit path */ | 1356 | #define NVGPU_ALLOC_GPFIFO_EX_FLAGS_VPR_ENABLED (1 << 0) |
1357 | /* | ||
1358 | * Channel shall exhibit deterministic behavior in the submit path. | ||
1359 | * | ||
1360 | * With this flag, any submits with in-kernel job tracking also require that | ||
1361 | * num_inflight_jobs is nonzero, and additionally that | ||
1362 | * NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_FULL is found in gpu | ||
1363 | * characteristics.flags. | ||
1364 | * | ||
1365 | * Note that fast submits (with no in-kernel job tracking) are also | ||
1366 | * deterministic and are supported if the characteristics flags contain | ||
1367 | * NVGPU_GPU_FLAGS_SUPPORT_DETERMINISTIC_SUBMIT_NO_JOBTRACKING; this flag or | ||
1368 | * num_inflight_jobs are not necessary in that case. | ||
1369 | */ | ||
1370 | #define NVGPU_ALLOC_GPFIFO_EX_FLAGS_DETERMINISTIC (1 << 1) | ||
1353 | __u32 flags; | 1371 | __u32 flags; |
1354 | __u32 reserved[5]; | 1372 | __u32 reserved[5]; |
1355 | }; | 1373 | }; |