diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2010-11-23 19:43:43 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:36:47 -0800 |
commit | ad3de0b7563e1e7294638ad33c2525da00e70587 (patch) | |
tree | b61e888a79e7acbabc31b54908cdbf2f2f007666 /drivers/video/tegra/host/nvhost_channel.c | |
parent | 45b11201848dba10d796f87036cbc01710d1a617 (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.c | 4 |
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); |