summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2014-09-17 03:07:52 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:17 -0400
commite4a7bc1602cc9a041dabee4da4a16594f2f9552a (patch)
tree942729bd383bf86f4bfda339e76d996bcfa4c40b /drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
parentefcd608f80028f6c7b2075b07a1112cd944408ac (diff)
gpu: nvgpu: add API to recover TSG
- add and export API "gk20a_fifo_recover_tsg()" to recover a TSG - if TSG is running on any engine, then trigger MMU fault on those engines - otherwise, abort each channel in TSG - modify channel specific API engines_on_ch() to generic engines_on_id() which will take an ID and a flag to specify whether ID is for channel or TSG and return engines running on that ID - modify channel specific API get_faulty_channel() to generic get_faulty_id_type() which will take pointers to ID and type of ID (either a regular channel or TSG) - remove runlist update from recover_ch() since no need to touch runlist during recovery - set error notifier first and then only abort the channels for TSG recovery path - also, add necessary accessors to get engine status type as TSG Bug 1470692 Change-Id: I7137f611f80916b3d256d4b0dc6e5cf1e93eef6f Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/497873 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.h1
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 04d22abb..e7560e27 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
@@ -163,6 +163,7 @@ int gk20a_fifo_suspend(struct gk20a *g);
163bool gk20a_fifo_mmu_fault_pending(struct gk20a *g); 163bool gk20a_fifo_mmu_fault_pending(struct gk20a *g);
164void gk20a_fifo_recover(struct gk20a *g, u32 engine_ids, bool verbose); 164void gk20a_fifo_recover(struct gk20a *g, u32 engine_ids, bool verbose);
165void gk20a_fifo_recover_ch(struct gk20a *g, u32 hw_chid, bool verbose); 165void gk20a_fifo_recover_ch(struct gk20a *g, u32 hw_chid, bool verbose);
166void gk20a_fifo_recover_tsg(struct gk20a *g, u32 tsgid, bool verbose);
166int gk20a_init_fifo_reset_enable_hw(struct gk20a *g); 167int gk20a_init_fifo_reset_enable_hw(struct gk20a *g);
167void gk20a_init_fifo(struct gpu_ops *gops); 168void gk20a_init_fifo(struct gpu_ops *gops);
168 169