summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
index edb645b5..947b8913 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h
@@ -96,11 +96,17 @@ struct channel_gk20a_joblist {
96}; 96};
97 97
98struct channel_gk20a_timeout { 98struct channel_gk20a_timeout {
99 /* lock protects the running timer state */
99 struct nvgpu_raw_spinlock lock; 100 struct nvgpu_raw_spinlock lock;
100 struct nvgpu_timeout timer; 101 struct nvgpu_timeout timer;
101 bool running; 102 bool running;
102 u32 gp_get; 103 u32 gp_get;
103 u64 pb_get; 104 u64 pb_get;
105
106 /* lock not needed */
107 u32 limit_ms;
108 bool enabled;
109 bool debug_dump;
104}; 110};
105 111
106/* 112/*
@@ -167,7 +173,6 @@ struct channel_gk20a {
167 struct nvgpu_semaphore_int *hw_sema; 173 struct nvgpu_semaphore_int *hw_sema;
168 174
169 int chid; 175 int chid;
170 bool wdt_enabled;
171 nvgpu_atomic_t bound; 176 nvgpu_atomic_t bound;
172 bool vpr; 177 bool vpr;
173 bool deterministic; 178 bool deterministic;
@@ -203,7 +208,9 @@ struct channel_gk20a {
203 u32 timeout_accumulated_ms; 208 u32 timeout_accumulated_ms;
204 u32 timeout_gpfifo_get; 209 u32 timeout_gpfifo_get;
205 210
211 /* kernel watchdog to kill stuck jobs */
206 struct channel_gk20a_timeout timeout; 212 struct channel_gk20a_timeout timeout;
213
207 /* for job cleanup handling in the background worker */ 214 /* for job cleanup handling in the background worker */
208 struct nvgpu_list_node worker_item; 215 struct nvgpu_list_node worker_item;
209 216