diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c b/drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c index 4dcc3ca5..78fb1261 100644 --- a/drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c | |||
@@ -215,6 +215,9 @@ int gp10b_init_clk_arbiter(struct gk20a *g) | |||
215 | goto init_fail; | 215 | goto init_fail; |
216 | } | 216 | } |
217 | 217 | ||
218 | /* This is set for the duration of the default req */ | ||
219 | nvgpu_atomic_inc(&g->clk_arb_global_nr); | ||
220 | |||
218 | nvgpu_clk_arb_worker_enqueue(g, &arb->update_arb_work_item); | 221 | nvgpu_clk_arb_worker_enqueue(g, &arb->update_arb_work_item); |
219 | 222 | ||
220 | do { | 223 | do { |
@@ -224,6 +227,8 @@ int gp10b_init_clk_arbiter(struct gk20a *g) | |||
224 | nvgpu_atomic_read(&arb->req_nr) != 0, 0); | 227 | nvgpu_atomic_read(&arb->req_nr) != 0, 0); |
225 | } while (nvgpu_atomic_read(&arb->req_nr) == 0); | 228 | } while (nvgpu_atomic_read(&arb->req_nr) == 0); |
226 | 229 | ||
230 | /* Once the default request is completed, reduce the usage count */ | ||
231 | nvgpu_atomic_dec(&g->clk_arb_global_nr); | ||
227 | 232 | ||
228 | return arb->status; | 233 | return arb->status; |
229 | 234 | ||