diff options
author | Arto Merilainen <amerilainen@nvidia.com> | 2014-05-08 18:49:38 +0300 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2014-05-12 16:35:58 -0700 |
commit | 2a37d5d1af2efe5118ea5febfb52506baae80afa (patch) | |
tree | b78895228a9bc53514c0b6f0d1b3cfdb9ee672cb | |
parent | 52b52dcd4774d4dfab1c28b274d30a333340ff43 (diff) |
video: tegra: host: Export subdomain registration
This far the subdomain registration has been allowed for drivers that
use nvhost_acm framework. However, gk20a handles its own power domain bu
it needs to register it as a subdomain of host1x. This patch exports
necessary functionality in public header.
Bug 200003112
Change-Id: Ie3457345c101329cadac4ef8aa71e448629a419b
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/407542
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
-rw-r--r-- | drivers/video/tegra/host/nvhost_acm.c | 6 | ||||
-rw-r--r-- | include/linux/nvhost.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c index 7592f6129305..82eb911afe4e 100644 --- a/drivers/video/tegra/host/nvhost_acm.c +++ b/drivers/video/tegra/host/nvhost_acm.c @@ -716,6 +716,12 @@ int _nvhost_module_add_domain(struct generic_pm_domain *domain, return ret; } +void nvhost_register_client_domain(struct generic_pm_domain *domain) +{ + pm_genpd_add_subdomain(host1x_domain, domain); +} +EXPORT_SYMBOL(nvhost_register_client_domain); + /* common runtime pm and power domain APIs */ int nvhost_module_add_domain(struct generic_pm_domain *domain, struct platform_device *pdev) diff --git a/include/linux/nvhost.h b/include/linux/nvhost.h index 99126f7478a6..0ec1592ab637 100644 --- a/include/linux/nvhost.h +++ b/include/linux/nvhost.h @@ -265,6 +265,9 @@ bool nvhost_module_powered_ext(struct platform_device *dev); int nvhost_module_busy_ext(struct platform_device *dev); void nvhost_module_idle_ext(struct platform_device *dev); +/* public api to register a subdomain */ +void nvhost_register_client_domain(struct generic_pm_domain *domain); + /* public host1x sync-point management APIs */ u32 nvhost_get_syncpt_client_managed(const char *syncpt_name); u32 nvhost_get_syncpt_host_managed(struct platform_device *pdev, |