gpu: nvgpu: Update channel on semaphore release

When using semaphore based channel synchronization, a semaphore release
may mean that a job has completed. Call gk20a_channel_update from
gk20a_channel_semaphore_wakeup to check if there are memory refs to
release or sync timelines to signal.

Bug 1450122

Change-Id: Ib829c895dab05676c35f974d3f1c3d88c047c9b9
Signed-off-by: Lauri Peltonen <lpeltonen@nvidia.com>
Reviewed-on: http://git-master/r/394576
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
Lauri Peltonen
2014-06-11 11:25:43 +03:00
committed by Dan Willemsen
parent e204224b26
commit dbde063bf6

View File

@@ -1994,8 +1994,10 @@ void gk20a_channel_semaphore_wakeup(struct gk20a *g)
for (chid = 0; chid < f->num_channels; chid++) {
struct channel_gk20a *c = g->fifo.channel+chid;
if (c->in_use)
if (c->in_use) {
wake_up_interruptible_all(&c->semaphore_wq);
gk20a_channel_update(c, 0);
}
}
}