diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2014-06-12 09:58:15 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:10:12 -0400 |
commit | aa3e3aaaa098e004045bcc8dd874431a3c0f2b2d (patch) | |
tree | 5225f05f07e5c66b8503e6f2f0b5e3e5e67d500d /drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |
parent | bce383801c0f93c3095c83a7209d7ab61edceca8 (diff) |
gpu: nvgpu: do not idle timed out channels
While suspending the device, do not submit WFI on
timed out channels
Submitting WFI on timed out channels will cuase submit_wfi()
to return error and as result of this, rail gating of device
will be prevented
Bug 200010416
Change-Id: Ic097bfdae59dbf9e1f2aea5d8d0431b5f1c3721b
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/422743
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-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.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 9492d646..0f805214 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -1937,7 +1937,7 @@ int gk20a_channel_suspend(struct gk20a *g) | |||
1937 | /* idle the engine by submitting WFI on non-KEPLER_C channel */ | 1937 | /* idle the engine by submitting WFI on non-KEPLER_C channel */ |
1938 | for (chid = 0; chid < f->num_channels; chid++) { | 1938 | for (chid = 0; chid < f->num_channels; chid++) { |
1939 | struct channel_gk20a *c = &f->channel[chid]; | 1939 | struct channel_gk20a *c = &f->channel[chid]; |
1940 | if (c->in_use && c->obj_class != KEPLER_C) { | 1940 | if (c->in_use && c->obj_class != KEPLER_C && !c->has_timedout) { |
1941 | err = gk20a_channel_submit_wfi(c); | 1941 | err = gk20a_channel_submit_wfi(c); |
1942 | if (err) { | 1942 | if (err) { |
1943 | gk20a_err(d, "cannot idle channel %d\n", | 1943 | gk20a_err(d, "cannot idle channel %d\n", |