summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2014-06-02 05:02:26 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:03 -0400
commit28c35a1b99cdfc8ef950241471a213a211bd1836 (patch)
tree97fab22efd375244cc2e5f011f85e9b881a62fa7 /drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
parentbcf8c6411cebde9435b97cb6b575b947205688fa (diff)
gpu: nvgpu: Fault engines on PBDMA error
On PBDMA error even though the engine might not be wedged, we need to kick the channel out of engine. Add that logic. Also when channel is not in engine, we need to remove it from runlist. Bug 1498688 Change-Id: I5939feb41d0a90635ba313b265c7e3b5d3f48622 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/417682 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Kevin Huang (Eng-SW) <kevinh@nvidia.com> Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/fifo_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/fifo_gk20a.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
index 078ae8f0..8a4e0a8f 100644
--- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.h
@@ -149,6 +149,7 @@ int gk20a_fifo_enable_engine_activity(struct gk20a *g,
149int gk20a_fifo_disable_engine_activity(struct gk20a *g, 149int gk20a_fifo_disable_engine_activity(struct gk20a *g,
150 struct fifo_engine_info_gk20a *eng_info, 150 struct fifo_engine_info_gk20a *eng_info,
151 bool wait_for_idle); 151 bool wait_for_idle);
152u32 gk20a_fifo_engines_on_ch(struct gk20a *g, u32 hw_chid);
152 153
153int gk20a_fifo_update_runlist(struct gk20a *g, u32 engine_id, u32 hw_chid, 154int gk20a_fifo_update_runlist(struct gk20a *g, u32 engine_id, u32 hw_chid,
154 bool add, bool wait_for_finish); 155 bool add, bool wait_for_finish);
@@ -157,6 +158,7 @@ int gk20a_fifo_suspend(struct gk20a *g);
157 158
158bool gk20a_fifo_mmu_fault_pending(struct gk20a *g); 159bool gk20a_fifo_mmu_fault_pending(struct gk20a *g);
159void gk20a_fifo_recover(struct gk20a *g, u32 engine_ids, bool verbose); 160void gk20a_fifo_recover(struct gk20a *g, u32 engine_ids, bool verbose);
161void gk20a_fifo_recover_ch(struct gk20a *g, u32 hw_chid, bool verbose);
160int gk20a_init_fifo_reset_enable_hw(struct gk20a *g); 162int gk20a_init_fifo_reset_enable_hw(struct gk20a *g);
161void gk20a_init_fifo(struct gpu_ops *gops); 163void gk20a_init_fifo(struct gpu_ops *gops);
162 164