summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2017-05-02 09:01:51 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-05-05 10:54:18 -0400
commitee9733e587d977610975435a84e5af7cabba8870 (patch)
tree6515a93b3fd6267d1e9626469816747359b197e8 /drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h
parent744e2d202e2d38b0d8ff8b55e1e84daf75e39b48 (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 'drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h
index 8b1f85a1..4efd1b76 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.h
@@ -99,7 +99,7 @@ struct gk20a_channel_sync {
99 99
100void gk20a_channel_sync_destroy(struct gk20a_channel_sync *sync); 100void gk20a_channel_sync_destroy(struct gk20a_channel_sync *sync);
101struct gk20a_channel_sync *gk20a_channel_sync_create(struct channel_gk20a *c); 101struct gk20a_channel_sync *gk20a_channel_sync_create(struct channel_gk20a *c);
102bool gk20a_channel_sync_needs_sync_framework(struct channel_gk20a *c); 102bool gk20a_channel_sync_needs_sync_framework(struct gk20a *g);
103 103
104#ifdef CONFIG_SYNC 104#ifdef CONFIG_SYNC
105void gk20a_channel_cancel_pending_sema_waits(struct gk20a *g); 105void gk20a_channel_cancel_pending_sema_waits(struct gk20a *g);