summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-02-12 13:53:26 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:06:37 -0400
commit226c671f8e99e7ed274c5c630090c6190a1367a5 (patch)
treee4dfc9a123ec5831210d0b1ea4a3044e987d6c33 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parenta3b26f25a226ea56e84dbda1bb510c1a7bc11054 (diff)
gpu: nvgpu: More robust recovery
Make recovery a more straightforward process. When we detect a fault, trigger MMU fault, and wait for it to trigger, and complete recovery. Also reset engines before aborting channel to ensure no stray sync point increments can happen. Change-Id: Iac685db6534cb64fe62d9fb452391f43100f2999 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/709060 (cherry picked from commit 95c62ffd9ac30a0d2eb88d033dcc6e6ff25efd6f) Reviewed-on: http://git-master/r/707443
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c2
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 a32496a2..4e68fe67 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -570,7 +570,7 @@ void gk20a_free_channel(struct channel_gk20a *ch, bool finish)
570 if (g->fifo.deferred_reset_pending) { 570 if (g->fifo.deferred_reset_pending) {
571 gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, "engine reset was" 571 gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, "engine reset was"
572 " deferred, running now"); 572 " deferred, running now");
573 fifo_gk20a_finish_mmu_fault_handling(g, g->fifo.mmu_fault_engines); 573 gk20a_fifo_reset_engine(g, g->fifo.mmu_fault_engines);
574 g->fifo.mmu_fault_engines = 0; 574 g->fifo.mmu_fault_engines = 0;
575 g->fifo.deferred_reset_pending = false; 575 g->fifo.deferred_reset_pending = false;
576 } 576 }