summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2014-05-08 18:49:38 +0300
committerRiham Haidar <rhaidar@nvidia.com>2014-05-12 16:35:58 -0700
commit2a37d5d1af2efe5118ea5febfb52506baae80afa (patch)
treeb78895228a9bc53514c0b6f0d1b3cfdb9ee672cb
parent52b52dcd4774d4dfab1c28b274d30a333340ff43 (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.c6
-rw-r--r--include/linux/nvhost.h3
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,