summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.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/gk20a/gr_gk20a.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/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 34ad1771..ca44cf21 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -2815,8 +2815,6 @@ out:
2815int gk20a_free_obj_ctx(struct channel_gk20a *c, 2815int gk20a_free_obj_ctx(struct channel_gk20a *c,
2816 struct nvgpu_free_obj_ctx_args *args) 2816 struct nvgpu_free_obj_ctx_args *args)
2817{ 2817{
2818 unsigned long timeout = gk20a_get_gr_idle_timeout(c->g);
2819
2820 gk20a_dbg_fn(""); 2818 gk20a_dbg_fn("");
2821 2819
2822 if (c->num_objects == 0) 2820 if (c->num_objects == 0)
@@ -2826,9 +2824,7 @@ int gk20a_free_obj_ctx(struct channel_gk20a *c,
2826 2824
2827 if (c->num_objects == 0) { 2825 if (c->num_objects == 0) {
2828 c->first_init = false; 2826 c->first_init = false;
2829 gk20a_disable_channel(c, 2827 gk20a_disable_channel(c);
2830 !c->has_timedout,
2831 timeout);
2832 gr_gk20a_free_channel_patch_ctx(c); 2828 gr_gk20a_free_channel_patch_ctx(c);
2833 } 2829 }
2834 2830