diff options
author | Joshua Primero <jprimero@nvidia.com> | 2012-02-09 12:03:00 -0800 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2012-07-02 06:10:44 -0700 |
commit | d294fdf2ffc18563bdd3a14b7574b46526763be8 (patch) | |
tree | 1c9d66b1f3c78366fc8dbeae7ae3619addc98ccb /arch/arm/mach-tegra/include | |
parent | 9d8eea6716367751c6f21134bc54fd91ab91a75a (diff) |
ARM: tegra: Object based balanced throttling
Implemented an object based balanced throttling in preparation
for multiple balanced throttling objects.
bug 1007726
Change-Id: Ib58fafaf696af0ae58e78bd9fd417d3a822d0571
Signed-off-by: Joshua Primero <jprimero@nvidia.com>
Reviewed-on: http://git-master/r/105238
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include')
-rw-r--r-- | arch/arm/mach-tegra/include/mach/thermal.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/include/mach/thermal.h b/arch/arm/mach-tegra/include/mach/thermal.h index 67586224cead..78599971cd9f 100644 --- a/arch/arm/mach-tegra/include/mach/thermal.h +++ b/arch/arm/mach-tegra/include/mach/thermal.h @@ -1,7 +1,7 @@ /* * arch/arm/mach-tegra/thermal.h * - * Copyright (C) 2010-2011 NVIDIA Corporation. + * Copyright (C) 2010-2012 NVIDIA Corporation. * * This software is licensed under the terms of the GNU General Public * License version 2, as published by the Free Software Foundation, and @@ -42,8 +42,35 @@ struct tegra_thermal_device { int (*set_limits) (void *, long, long); int (*set_alert)(void *, void (*)(void *), void *); int (*set_shutdown_temp)(void *, long); +#ifdef CONFIG_TEGRA_THERMAL_THROTTLE + struct thermal_zone_device *thz; +#endif +}; + +#ifdef CONFIG_TEGRA_THERMAL_THROTTLE +struct throttle_table { + unsigned int cpu_freq; + int core_cap_level; }; +struct balanced_throttle { + int id; + struct throttle_table *throt_tab; + int throt_tab_size; + + int is_throttling; + int throttle_index; + struct thermal_cooling_device *cdev; + + struct list_head node; +}; + +struct balanced_throttle *balanced_throttle_register( + int id, + struct throttle_table *table, + int tab_size); +#endif + #ifndef CONFIG_ARCH_TEGRA_2x_SOC int tegra_thermal_init(struct tegra_thermal_data *data); int tegra_thermal_set_device(struct tegra_thermal_device *device); |