summaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorSachit Kadle <skadle@nvidia.com>2016-09-14 14:45:38 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-10-21 14:23:53 -0400
commitab593b9ccd3132404406ef6340348fdb28c23bf0 (patch)
tree394624e853fdb5e7fbe380c1ee8f4f2fca9fe24d /include/uapi
parent55dba9f1a91a6f94fb63090880ae28eedf4189a2 (diff)
gpu: nvgpu: make deferred clean-up conditional
This change makes the invocation of the deferred job clean-up mechanism conditional. For submissions that require job tracking, deferred clean-up is only required if any of the following conditions are met: 1) Channel's deterministic flag is not set 2) Rail-gating is enabled 3) Channel WDT is enabled 4) Buffer refcounting is enabled 5) Dependency on Sync Framework In case deferred clean-up is not needed, we clean-up a single job tracking resource in the submit path. For deterministic channels, we do not allow deferred clean-up to occur and fail any submits that require it. Bug 1795076 Change-Id: I4021dffe8a71aa58f12db6b58518d3f4021f3313 Signed-off-by: Sachit Kadle <skadle@nvidia.com> Reviewed-on: http://git-master/r/1220920 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> (cherry picked from commit b09f7589d5ad3c496e7350f1ed583a4fe2db574a) Reviewed-on: http://git-master/r/1223941 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/nvgpu.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/uapi/linux/nvgpu.h b/include/uapi/linux/nvgpu.h
index b3302e6f..5110ee79 100644
--- a/include/uapi/linux/nvgpu.h
+++ b/include/uapi/linux/nvgpu.h
@@ -968,6 +968,8 @@ struct nvgpu_alloc_gpfifo_args {
968struct nvgpu_alloc_gpfifo_ex_args { 968struct nvgpu_alloc_gpfifo_ex_args {
969 __u32 num_entries; 969 __u32 num_entries;
970 __u32 num_inflight_jobs; 970 __u32 num_inflight_jobs;
971#define NVGPU_ALLOC_GPFIFO_EX_FLAGS_VPR_ENABLED (1 << 0) /* set owner channel of this gpfifo as a vpr channel */
972#define NVGPU_ALLOC_GPFIFO_EX_FLAGS_DETERMINISTIC (1 << 1) /* channel shall exhibit deterministic behavior in the submit path */
971 __u32 flags; 973 __u32 flags;
972 __u32 reserved[5]; 974 __u32 reserved[5];
973}; 975};
@@ -994,8 +996,6 @@ struct nvgpu_fence {
994#define NVGPU_SUBMIT_GPFIFO_FLAGS_SUPPRESS_WFI (1 << 4) 996#define NVGPU_SUBMIT_GPFIFO_FLAGS_SUPPRESS_WFI (1 << 4)
995/* skip buffer refcounting during submit */ 997/* skip buffer refcounting during submit */
996#define NVGPU_SUBMIT_GPFIFO_FLAGS_SKIP_BUFFER_REFCOUNTING (1 << 5) 998#define NVGPU_SUBMIT_GPFIFO_FLAGS_SKIP_BUFFER_REFCOUNTING (1 << 5)
997/* submit should exhibit deterministic latency */
998#define NVGPU_SUBMIT_GPFIFO_FLAGS_DETERMINISTIC (1 << 6)
999 999
1000struct nvgpu_submit_gpfifo_args { 1000struct nvgpu_submit_gpfifo_args {
1001 __u64 gpfifo; 1001 __u64 gpfifo;