diff options
author | Chris Johnson <cwj@nvidia.com> | 2011-04-30 14:24:44 -0700 |
---|---|---|
committer | Niket Sirsi <nsirsi@nvidia.com> | 2011-05-16 15:15:20 -0700 |
commit | 6d8d2c454e835f7cfe34371e07dac173f3153452 (patch) | |
tree | c80564468037653f45c29d607e52e8c472ae8367 /drivers/video/tegra/host/nvhost_syncpt.h | |
parent | 0edac603fc410d7b6686b27e545586b42feb7a80 (diff) |
nvrm: move stale wait checking into the kerneltegra-11.2.6
The kernel now receives wait tracking data (similar to gathers and
relocs) and compares the current syncpt with the threshold value.
If it's old, it gets a kernel mapping and rewrites the method data
to use a kernel reserved syncpt that is always 0 (so trivially pops
when seen by the HW).
Bug 519650
Bug 785525
Bug 803452
Note: reset the author in this commit to fix a email addr problem
and since from the latest/last cherry pick there was a reworking
of the code to be compatible with different user space versions
it also seemed reasonable.
(cherry picked from commit 4069d8e67665624ad3dceb628e572980dd57acd0)
(cherry picked from commit 6e4336408588e348804a62e53386acc9abc06823)
(cherry picked from commit 87a9efe751716ca741caac72b9061fdfdcec540a)
Change-Id: I9c6076da2384f373d5f402bee4406b09b4ebc4ff
Reviewed-on: http://git-master/r/23159
Reviewed-on: http://git-master/r/30281
Tested-by: Chris Johnson <cwj@nvidia.com>
Reviewed-by: Ken Adams <kadams@nvidia.com>
Reviewed-by: Prajakta Gudadhe <pgudadhe@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/host/nvhost_syncpt.h')
-rw-r--r-- | drivers/video/tegra/host/nvhost_syncpt.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/tegra/host/nvhost_syncpt.h b/drivers/video/tegra/host/nvhost_syncpt.h index f161f2051406..b4ce3c6ee6d4 100644 --- a/drivers/video/tegra/host/nvhost_syncpt.h +++ b/drivers/video/tegra/host/nvhost_syncpt.h @@ -25,10 +25,13 @@ #include <linux/kernel.h> #include <linux/sched.h> +#include <mach/nvhost.h> +#include <mach/nvmap.h> #include <asm/atomic.h> #include "nvhost_hardware.h" +#define NVSYNCPT_GRAPHICS_HOST (0) #define NVSYNCPT_VI_ISP_0 (12) #define NVSYNCPT_VI_ISP_1 (13) #define NVSYNCPT_VI_ISP_2 (14) @@ -142,6 +145,9 @@ static inline int nvhost_syncpt_wait(struct nvhost_syncpt *sp, u32 id, u32 thres return nvhost_syncpt_wait_timeout(sp, id, thresh, MAX_SCHEDULE_TIMEOUT); } +int nvhost_syncpt_wait_check(struct nvmap_client *nvmap, + struct nvhost_syncpt *sp, u32 mask, + struct nvhost_waitchk *waitp, u32 num_waits); const char *nvhost_syncpt_name(u32 id); |