summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/nvhost_channel.c
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2010-11-23 19:43:43 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:36:47 -0800
commitad3de0b7563e1e7294638ad33c2525da00e70587 (patch)
treeb61e888a79e7acbabc31b54908cdbf2f2f007666 /drivers/video/tegra/host/nvhost_channel.c
parent45b11201848dba10d796f87036cbc01710d1a617 (diff)
tegra: video: host: remove cancelled actions at power down
Change-Id: I2a82ecadafacec53990db25cb456809dbffd999b Author: Alex Frid <afrid@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/host/nvhost_channel.c')
-rw-r--r--drivers/video/tegra/host/nvhost_channel.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/video/tegra/host/nvhost_channel.c b/drivers/video/tegra/host/nvhost_channel.c
index 80c0f877618e..40b67181c33d 100644
--- a/drivers/video/tegra/host/nvhost_channel.c
+++ b/drivers/video/tegra/host/nvhost_channel.c
@@ -214,6 +214,7 @@ static void power_3d(struct nvhost_module *mod, enum nvhost_power_action action)
struct nvhost_op_pair save;
struct nvhost_cpuinterrupt ctxsw;
u32 syncval;
+ void *ref;
syncval = nvhost_syncpt_incr_max(&ch->dev->syncpt,
NVSYNCPT_3D,
ch->cur_ctx->save_incrs);
@@ -232,10 +233,11 @@ static void power_3d(struct nvhost_module *mod, enum nvhost_power_action action)
nvhost_intr_add_action(&ch->dev->intr, NVSYNCPT_3D,
syncval,
NVHOST_INTR_ACTION_WAKEUP,
- &wq, NULL);
+ &wq, &ref);
wait_event(wq,
nvhost_syncpt_min_cmp(&ch->dev->syncpt,
NVSYNCPT_3D, syncval));
+ nvhost_intr_put_ref(&ch->dev->intr, ref);
nvhost_cdma_update(&ch->cdma);
}
mutex_unlock(&ch->submitlock);