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>2012-03-22 23:28:17 -0700
commit0f594a5750693b19949c349d24066a979ade8ff5 (patch)
tree514002ce399d0b560f5973e5d5695ebb967167df /arch/arm/mach-tegra/tegra2_clocks.c
parent8ebcbcf4de3c4b20f6971b6c903647caca3b796e (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 86fdb270bff9..1f5b7504e410 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
@@ -1527,6 +1528,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);
@@ -1540,6 +1543,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);