summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/clk_arb_gp10b.c5
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