diff options
author | Deepak Nibade <dnibade@nvidia.com> | 2014-03-14 11:55:20 +0530 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2014-03-19 23:49:36 -0700 |
commit | 4c1114166464d190291456e73bf0a976f3bd3daa (patch) | |
tree | 2bd3b260c6c5a4f7d1657a408c0d27e7b41e2c7a /include/linux/nvhost.h | |
parent | 91e659569b47b15f5ba7a025ac56453b75dba2cf (diff) |
video: tegra: host: implement dynamic synpt
- implement dynamic syncpoint assignment framework
- provide API nvhost_get_syncpt_client_managed() to get client managed
syncpt which is requested by display, avp, and tegra_camera drivers
- provide API nvhost_get_syncpt_host_managed() for host managed syncpts
- this API is used by host1x clients and gpu
- provide API nvhost_free_syncpt() to free a syncpt
- both client managed and host managed APIs call nvhost_get_syncpt() to
find a free syncpt and reserve it
- remove static syncpt mappings from nvhost_device_data of all clients
- keep VBLANK syncpts hard-coded until we resolve the conflicts with
hard coded syncpt increments from bootloader
Bug 1305024
Change-Id: I02fdfd81d62d215cbb98f4b3f2695bd745fe2402
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/381954
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'include/linux/nvhost.h')
-rw-r--r-- | include/linux/nvhost.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/nvhost.h b/include/linux/nvhost.h index 46faeca981e2..012d9e6baf2a 100644 --- a/include/linux/nvhost.h +++ b/include/linux/nvhost.h @@ -326,6 +326,7 @@ int nvhost_module_busy_ext(struct platform_device *dev); void nvhost_module_idle_ext(struct platform_device *dev); /* public host1x sync-point management APIs */ +u32 nvhost_get_syncpt_client_managed(const char *syncpt_name); u32 nvhost_syncpt_incr_max_ext(struct platform_device *dev, u32 id, u32 incrs); void nvhost_syncpt_cpu_incr_ext(struct platform_device *dev, u32 id); int nvhost_syncpt_read_ext_check(struct platform_device *dev, u32 id, u32 *val); |