diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-11-23 17:17:56 -0500 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-12-10 11:38:20 -0500 |
commit | e04e73c580976445880283552535199a70a80ea4 (patch) | |
tree | 0c14150c32bb628503e32b3860e6975c3976a73e /drivers/gpu/nvgpu/vgpu/gr_vgpu.c | |
parent | eb81d7d7e1d4a34ecd5968b13636f2c0e7a0dce1 (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.c | 6 |
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: | |||
527 | static int vgpu_gr_free_obj_ctx(struct channel_gk20a *c, | 527 | static 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; |