diff options
Diffstat (limited to 'drivers/video/tegra/host/nvhost_syncpt.h')
-rw-r--r-- | drivers/video/tegra/host/nvhost_syncpt.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/video/tegra/host/nvhost_syncpt.h b/drivers/video/tegra/host/nvhost_syncpt.h index b4ce3c6ee6d4..992162b17e93 100644 --- a/drivers/video/tegra/host/nvhost_syncpt.h +++ b/drivers/video/tegra/host/nvhost_syncpt.h @@ -101,6 +101,12 @@ static inline u32 nvhost_syncpt_read_max(struct nvhost_syncpt *sp, u32 id) return (u32)atomic_read(&sp->max_val[id]); } +static inline u32 nvhost_syncpt_read_min(struct nvhost_syncpt *sp, u32 id) +{ + smp_rmb(); + return (u32)atomic_read(&sp->min_val[id]); +} + /** * Returns true if syncpoint has reached threshold */ @@ -138,11 +144,12 @@ u32 nvhost_syncpt_read(struct nvhost_syncpt *sp, u32 id); void nvhost_syncpt_incr(struct nvhost_syncpt *sp, u32 id); int nvhost_syncpt_wait_timeout(struct nvhost_syncpt *sp, u32 id, u32 thresh, - u32 timeout); + u32 timeout, u32 *value); static inline int nvhost_syncpt_wait(struct nvhost_syncpt *sp, u32 id, u32 thresh) { - return nvhost_syncpt_wait_timeout(sp, id, thresh, MAX_SCHEDULE_TIMEOUT); + return nvhost_syncpt_wait_timeout(sp, id, thresh, + MAX_SCHEDULE_TIMEOUT, NULL); } int nvhost_syncpt_wait_check(struct nvmap_client *nvmap, |