summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/gr_vgpu.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-11-23 17:17:56 -0500
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-12-10 11:38:20 -0500
commite04e73c580976445880283552535199a70a80ea4 (patch)
tree0c14150c32bb628503e32b3860e6975c3976a73e /drivers/gpu/nvgpu/vgpu/gr_vgpu.c
parenteb81d7d7e1d4a34ecd5968b13636f2c0e7a0dce1 (diff)
gpu: nvgpu: Immediate channel release
When closing channel, disable and preempt it immediately instead of waiting for it to finish all work. Bug 1683059 Change-Id: Ia5f5fc6a072dc3ddb1e9bf63534814ff0a60b5b4 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/836746
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/gr_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/gr_vgpu.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c
index a4ec5254..d8da6f3f 100644
--- a/drivers/gpu/nvgpu/vgpu/gr_vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/gr_vgpu.c
@@ -527,8 +527,6 @@ out:
527static int vgpu_gr_free_obj_ctx(struct channel_gk20a *c, 527static int vgpu_gr_free_obj_ctx(struct channel_gk20a *c,
528 struct nvgpu_free_obj_ctx_args *args) 528 struct nvgpu_free_obj_ctx_args *args)
529{ 529{
530 unsigned long timeout = gk20a_get_gr_idle_timeout(c->g);
531
532 gk20a_dbg_fn(""); 530 gk20a_dbg_fn("");
533 531
534 if (c->num_objects == 0) 532 if (c->num_objects == 0)
@@ -538,9 +536,7 @@ static int vgpu_gr_free_obj_ctx(struct channel_gk20a *c,
538 536
539 if (c->num_objects == 0) { 537 if (c->num_objects == 0) {
540 c->first_init = false; 538 c->first_init = false;
541 gk20a_disable_channel(c, 539 gk20a_disable_channel(c);
542 !c->has_timedout,
543 timeout);
544 } 540 }
545 541
546 return 0; 542 return 0;