From 226c671f8e99e7ed274c5c630090c6190a1367a5 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 12 Feb 2015 10:53:26 -0800 Subject: 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 Reviewed-on: http://git-master/r/709060 (cherry picked from commit 95c62ffd9ac30a0d2eb88d033dcc6e6ff25efd6f) Reviewed-on: http://git-master/r/707443 --- drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c') 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) if (g->fifo.deferred_reset_pending) { gk20a_dbg(gpu_dbg_intr | gpu_dbg_gpu_dbg, "engine reset was" " deferred, running now"); - fifo_gk20a_finish_mmu_fault_handling(g, g->fifo.mmu_fault_engines); + gk20a_fifo_reset_engine(g, g->fifo.mmu_fault_engines); g->fifo.mmu_fault_engines = 0; g->fifo.deferred_reset_pending = false; } -- cgit v1.2.2