summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
authorLauri Peltonen <lpeltonen@nvidia.com>2014-06-11 04:25:43 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:10:10 -0400
commitdbde063bf6048551ab0b49a9a7de7e31e7bbad03 (patch)
tree61371ad85691567ad216e25f075951c526da6485 /drivers/gpu/nvgpu/gk20a/channel_gk20a.c
parente204224b26e6b5f609bc4e542368c1a13aeece61 (diff)
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>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index 651ea08c..a9aec435 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -1994,8 +1994,10 @@ void gk20a_channel_semaphore_wakeup(struct gk20a *g)
1994 1994
1995 for (chid = 0; chid < f->num_channels; chid++) { 1995 for (chid = 0; chid < f->num_channels; chid++) {
1996 struct channel_gk20a *c = g->fifo.channel+chid; 1996 struct channel_gk20a *c = g->fifo.channel+chid;
1997 if (c->in_use) 1997 if (c->in_use) {
1998 wake_up_interruptible_all(&c->semaphore_wq); 1998 wake_up_interruptible_all(&c->semaphore_wq);
1999 gk20a_channel_update(c, 0);
2000 }
1999 } 2001 }
2000} 2002}
2001 2003