diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index 78e52c623..c43798b59 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c @@ -1414,10 +1414,8 @@ static int gk20a_channel_add_job(struct channel_gk20a *c, void gk20a_channel_update(struct channel_gk20a *c, int nr_completed) { - struct gk20a *g = c->g; struct vm_gk20a *vm = c->vm; struct channel_gk20a_job *job, *n; - int i; wake_up(&c->submit_wq); @@ -1442,7 +1440,7 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed) list_del_init(&job->list); kfree(job); - gk20a_idle(g->dev); + gk20a_idle(c->g->dev); } /* @@ -1460,9 +1458,6 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed) } mutex_unlock(&c->jobs_lock); mutex_unlock(&c->submit_lock); - - for (i = 0; i < nr_completed; i++) - gk20a_idle(c->g->dev); } void add_wait_cmd(u32 *ptr, u32 id, u32 thresh) diff --git a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c index 677c4b493..a6ca8214f 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_sync_gk20a.c @@ -233,16 +233,9 @@ static int __gk20a_channel_syncpt_incr(struct gk20a_channel_sync *s, thresh = nvhost_syncpt_incr_max_ext(sp->host1x_pdev, sp->id, 1); if (register_irq) { - /* nvhost action_gpfifo_submit_complete releases this ref. */ - err = gk20a_busy(c->g->dev); - - if (!err) { - err = nvhost_intr_register_notifier(sp->host1x_pdev, - sp->id, thresh, - gk20a_channel_syncpt_update, c); - if (err) - gk20a_idle(c->g->dev); - } + err = nvhost_intr_register_notifier(sp->host1x_pdev, + sp->id, thresh, + gk20a_channel_syncpt_update, c); /* Adding interrupt action should never fail. A proper error * handling here would require us to decrement the syncpt max