]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
gpu: nvgpu: do not idle timed out channels
authorDeepak Nibade <dnibade@nvidia.com>
Thu, 12 Jun 2014 13:58:15 +0000 (19:28 +0530)
committerTodd Poynter <tpoynter@nvidia.com>
Thu, 19 Jun 2014 15:42:51 +0000 (08:42 -0700)
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>
(cherry picked from commit 9ac601c0035240f6bacc3c42c5cc9e7b85a65456)
Reviewed-on: http://git-master/r/426079
Reviewed-by: Todd Poynter <tpoynter@nvidia.com>
Tested-by: Todd Poynter <tpoynter@nvidia.com>
drivers/gpu/nvgpu/gk20a/channel_gk20a.c

index 53f200a5cd1887a08002227b40e7481d94352358..5eeb1b38b81ea0de69c1f19ed60cab768a63ee85 100644 (file)
@@ -1836,7 +1836,7 @@ int gk20a_channel_suspend(struct gk20a *g)
        /* idle the engine by submitting WFI on non-KEPLER_C channel */
        for (chid = 0; chid < f->num_channels; chid++) {
                struct channel_gk20a *c = &f->channel[chid];
-               if (c->in_use && c->obj_class != KEPLER_C) {
+               if (c->in_use && c->obj_class != KEPLER_C && !c->has_timedout) {
                        err = gk20a_channel_submit_wfi(c);
                        if (err) {
                                gk20a_err(d, "cannot idle channel %d\n",