summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/tegra2_clocks.c
diff options
context:
space:
mode:
authorPrashant Gaikwad <pgaikwad@nvidia.com>2011-07-12 17:02:54 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:37 -0800
commitef3a0688590c71d044e7681873345cefa1f7d204 (patch)
tree789b0a432aecb58b807bb701ae7555a3793538e6 /arch/arm/mach-tegra/tegra2_clocks.c
parentd95c322321462eb6d7b064fe6569753d4e08c2df (diff)
ARM: tegra: add support for hardware statistic counter
Tegra2 chip has a hardware statistic counter for CPU/AVP/VDE/SYS modules. This commit adds the support for AVP statistics gathering and controlling avp clock during video playback. Bug 831892 Reviewed-on: http://git-master/r/35647 (cherry picked from commit 145885b03cd9fc625f2ff3460c59ebbb3d93c98e) Original-Change-Id: I441acbaf2cb8dd776529bafd4e13f50e31849afa Reviewed-on: http://git-master/r/39657 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: R7271973f142f14fc8a11bdbc33ae6f76f6fd38b0
Diffstat (limited to 'arch/arm/mach-tegra/tegra2_clocks.c')
-rw-r--r--arch/arm/mach-tegra/tegra2_clocks.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/tegra2_clocks.c b/arch/arm/mach-tegra/tegra2_clocks.c
index f5125eaeddcd..b28b10c22d27 100644
--- a/arch/arm/mach-tegra/tegra2_clocks.c
+++ b/arch/arm/mach-tegra/tegra2_clocks.c
@@ -36,6 +36,7 @@
#include "clock.h"
#include "fuse.h"
#include "tegra2_emc.h"
+#include "tegra2_statmon.h"
#define RST_DEVICES 0x004
#define RST_DEVICES_SET 0x300
@@ -1522,6 +1523,8 @@ static int tegra_clk_shared_bus_enable(struct clk *c)
c->u.shared_bus_user.enabled = true;
ret = tegra_clk_shared_bus_update(c->parent);
+ if (strcmp(c->name, "avp.sclk") == 0)
+ tegra2_statmon_start();
clk_unlock_restore(c->parent, &flags);
@@ -1535,6 +1538,8 @@ static void tegra_clk_shared_bus_disable(struct clk *c)
clk_lock_save(c->parent, &flags);
+ if (strcmp(c->name, "avp.sclk") == 0)
+ tegra2_statmon_stop();
c->u.shared_bus_user.enabled = false;
ret = tegra_clk_shared_bus_update(c->parent);
WARN_ON_ONCE(ret);