summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorDavid Li <davli@nvidia.com>2017-08-11 00:44:28 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-08-31 21:44:54 -0400
commita199baede7e59fd0b303c50d4a25fc0ee7c290d9 (patch)
tree8ea5a03f27b5aa980136889300166681b91c9ac6 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parent4995389f6806433c65549250b5ab953611febc40 (diff)
gpu: nvgpu: add NVGPU_SUBMIT_GPFIFO_FLAGS_RESCHEDULE_RUNLIST
NVGPU_SUBMIT_GPFIFO_FLAGS_RESCHEDULE_RUNLIST causes host to expire current timeslice and reschedule from front of runlist. This can be used with NVGPU_RUNLIST_INTERLEAVE_LEVEL_HIGH to make a channel start sooner after submit rather than waiting for natural timeslice expiration or block/finish of currently running channel. Bug 1968813 Change-Id: I632e87c5f583a09ec8bf521dc73f595150abebb0 Signed-off-by: David Li <davli@nvidia.com> Reviewed-on: http://git-master/r/#/c/1537198 Reviewed-on: https://git-master.nvidia.com/r/1537198 Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 0c1b06e9..89862e63 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -2668,6 +2668,10 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c,
2668 2668
2669 g->ops.fifo.userd_gp_put(g, c); 2669 g->ops.fifo.userd_gp_put(g, c);
2670 2670
2671 if ((NVGPU_SUBMIT_GPFIFO_FLAGS_RESCHEDULE_RUNLIST & flags) &&
2672 g->ops.fifo.reschedule_runlist)
2673 g->ops.fifo.reschedule_runlist(g, c->runlist_id);
2674
2671 /* No hw access beyond this point */ 2675 /* No hw access beyond this point */
2672 if (c->deterministic) 2676 if (c->deterministic)
2673 up_read(&g->deterministic_busy); 2677 up_read(&g->deterministic_busy);