summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/include
diff options
context:
space:
mode:
authorJoshua Primero <jprimero@nvidia.com>2012-02-09 12:03:00 -0800
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-07-02 06:10:44 -0700
commitd294fdf2ffc18563bdd3a14b7574b46526763be8 (patch)
tree1c9d66b1f3c78366fc8dbeae7ae3619addc98ccb /arch/arm/mach-tegra/include
parent9d8eea6716367751c6f21134bc54fd91ab91a75a (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.h29
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);