diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-02-12 13:53:26 -0500 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-04-04 21:06:37 -0400 |
commit | 226c671f8e99e7ed274c5c630090c6190a1367a5 (patch) | |
tree | e4dfc9a123ec5831210d0b1ea4a3044e987d6c33 /drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | |
parent | a3b26f25a226ea56e84dbda1bb510c1a7bc11054 (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/fifo_gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h index ecae970f..8fda38f5 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h | |||
@@ -162,6 +162,7 @@ void gk20a_fifo_recover(struct gk20a *g, u32 engine_ids, bool verbose); | |||
162 | void gk20a_fifo_recover_ch(struct gk20a *g, u32 hw_chid, bool verbose); | 162 | void gk20a_fifo_recover_ch(struct gk20a *g, u32 hw_chid, bool verbose); |
163 | void gk20a_fifo_recover_tsg(struct gk20a *g, u32 tsgid, bool verbose); | 163 | void gk20a_fifo_recover_tsg(struct gk20a *g, u32 tsgid, bool verbose); |
164 | int gk20a_fifo_force_reset_ch(struct channel_gk20a *ch, bool verbose); | 164 | int gk20a_fifo_force_reset_ch(struct channel_gk20a *ch, bool verbose); |
165 | void gk20a_fifo_reset_engine(struct gk20a *g, u32 engine_id); | ||
165 | int gk20a_init_fifo_reset_enable_hw(struct gk20a *g); | 166 | int gk20a_init_fifo_reset_enable_hw(struct gk20a *g); |
166 | void gk20a_init_fifo(struct gpu_ops *gops); | 167 | void gk20a_init_fifo(struct gpu_ops *gops); |
167 | 168 | ||