diff options
author | David Li <davli@nvidia.com> | 2017-08-11 00:44:28 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-08-31 21:44:54 -0400 |
commit | a199baede7e59fd0b303c50d4a25fc0ee7c290d9 (patch) | |
tree | 8ea5a03f27b5aa980136889300166681b91c9ac6 /drivers/gpu/nvgpu/gp10b | |
parent | 4995389f6806433c65549250b5ab953611febc40 (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/gp10b')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gp10b.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/hal_gp10b.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gp10b.c b/drivers/gpu/nvgpu/gp10b/gp10b.c index e4a8b02e..4c18ef58 100644 --- a/drivers/gpu/nvgpu/gp10b/gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gp10b.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * GP10B Graphics | 2 | * GP10B Graphics |
3 | * | 3 | * |
4 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. | 4 | * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved. |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
7 | * under the terms and conditions of the GNU General Public License, | 7 | * under the terms and conditions of the GNU General Public License, |
@@ -108,6 +108,7 @@ int gp10b_init_gpu_characteristics(struct gk20a *g) | |||
108 | { | 108 | { |
109 | gk20a_init_gpu_characteristics(g); | 109 | gk20a_init_gpu_characteristics(g); |
110 | g->gpu_characteristics.flags |= gp10b_detect_ecc_enabled_units(g); | 110 | g->gpu_characteristics.flags |= gp10b_detect_ecc_enabled_units(g); |
111 | 111 | g->gpu_characteristics.flags |= | |
112 | NVGPU_GPU_FLAGS_SUPPORT_RESCHEDULE_RUNLIST; | ||
112 | return 0; | 113 | return 0; |
113 | } | 114 | } |
diff --git a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c index d0f07a2b..3efee9e2 100644 --- a/drivers/gpu/nvgpu/gp10b/hal_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/hal_gp10b.c | |||
@@ -386,6 +386,7 @@ static const struct gpu_ops gp10b_ops = { | |||
386 | .pbdma_acquire_val = gk20a_fifo_pbdma_acquire_val, | 386 | .pbdma_acquire_val = gk20a_fifo_pbdma_acquire_val, |
387 | .preempt_channel = gk20a_fifo_preempt_channel, | 387 | .preempt_channel = gk20a_fifo_preempt_channel, |
388 | .preempt_tsg = gk20a_fifo_preempt_tsg, | 388 | .preempt_tsg = gk20a_fifo_preempt_tsg, |
389 | .reschedule_runlist = gk20a_fifo_reschedule_runlist, | ||
389 | .update_runlist = gk20a_fifo_update_runlist, | 390 | .update_runlist = gk20a_fifo_update_runlist, |
390 | .trigger_mmu_fault = gm20b_fifo_trigger_mmu_fault, | 391 | .trigger_mmu_fault = gm20b_fifo_trigger_mmu_fault, |
391 | .get_mmu_fault_info = gp10b_fifo_get_mmu_fault_info, | 392 | .get_mmu_fault_info = gp10b_fifo_get_mmu_fault_info, |