summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/nvhost_acm.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2011-08-25 14:30:52 +0300
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:46 -0800
commit18031080af57b3fdfc5716a4600a5de9ea7877ca (patch)
tree33db440472b8f28a5168edb60fed35ea727b29e1 /drivers/video/tegra/host/nvhost_acm.c
parent2de5dd8502ca69551f926ba20d738aed4e63ea25 (diff)
nvhost: power: Separate module shared clocks
Register clocks that are shared amongst modules (emc, epp) as separate clocks. This way setting EMC clock for 2D does not interfere with EMC clock needs for 3D or MPE. Bug 868554 Original-Change-Id: I5c7dddc8f1d67969865918e577bd24b274d9e897 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/49603 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Juha Tukkinen <jtukkinen@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Rebase-Id: R6d25c0765bbaf73f50568b7438c3b4376befef9b
Diffstat (limited to 'drivers/video/tegra/host/nvhost_acm.c')
-rw-r--r--drivers/video/tegra/host/nvhost_acm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/video/tegra/host/nvhost_acm.c b/drivers/video/tegra/host/nvhost_acm.c
index 9fc88f0d0b3f..cb55055a47bd 100644
--- a/drivers/video/tegra/host/nvhost_acm.c
+++ b/drivers/video/tegra/host/nvhost_acm.c
@@ -38,6 +38,7 @@
#define POWERGATE_DELAY 10
#define HOST_EMC_FLOOR 300000000
+#define MAX_DEVID_LENGTH 16
void nvhost_module_reset(struct nvhost_module *mod)
{
@@ -433,6 +434,7 @@ static const char *get_module_clk(const char *module,
struct nvhost_module_clock_info *info)
{
const char *clk_id = NULL;
+ char devname[MAX_DEVID_LENGTH];
info->min_rate = 0;
switch (tegra_get_chipid()) {
@@ -450,7 +452,8 @@ static const char *get_module_clk(const char *module,
if (clk_id == NULL)
return NULL;
- info->clk = clk_get(dev, clk_id);
+ snprintf(devname, MAX_DEVID_LENGTH, "tegra_%s", module);
+ info->clk = clk_get_sys(devname, clk_id);
if (IS_ERR_OR_NULL(info->clk)) {
clk_id = NULL;
return NULL;