diff options
author | Prashant Gaikwad <pgaikwad@nvidia.com> | 2011-07-12 17:02:54 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:47:37 -0800 |
commit | ef3a0688590c71d044e7681873345cefa1f7d204 (patch) | |
tree | 789b0a432aecb58b807bb701ae7555a3793538e6 /arch/arm/mach-tegra/tegra2_clocks.c | |
parent | d95c322321462eb6d7b064fe6569753d4e08c2df (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.c | 5 |
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); |