summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/edp.c
diff options
context:
space:
mode:
authorDiwakar Tundlam <dtundlam@nvidia.com>2013-01-11 15:27:43 -0800
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:50:30 -0700
commit11a2d5c5ac4aa2625bd7b7f390dadc39565fc4dc (patch)
treeb571d733437500edccada6de8379818d70628a19 /arch/arm/mach-tegra/edp.c
parent1e65d9328d5637104cbb065fd0370caa794f0092 (diff)
arm: tegra: move common edp cdev init to edp code
Moved repetitive platform initalization of edp features to common areas in preparation for handling these cdevs from soc_therm. Bug 1200075 Change-Id: I8f7fe45d8f0797c72272e5ee1db3707493ec90a5 Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com> Reviewed-on: http://git-master/r/190765 (cherry picked from commit f36a20dd1bce7314a97f48213f2180b0a7440a97) Reviewed-on: http://git-master/r/192538 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'arch/arm/mach-tegra/edp.c')
-rw-r--r--arch/arm/mach-tegra/edp.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/edp.c b/arch/arm/mach-tegra/edp.c
index 0e59df6681e7..eac569fb8f2c 100644
--- a/arch/arm/mach-tegra/edp.c
+++ b/arch/arm/mach-tegra/edp.c
@@ -771,6 +771,38 @@ void tegra_get_system_edp_limits(const unsigned int **limits)
*limits = system_edp_limits;
}
+void tegra_platform_edp_init(struct nct_trip_temp *trips, int *num_trips)
+{
+ const struct tegra_edp_limits *cpu_edp_limits;
+ struct nct_trip_temp *trip_state;
+ int i, cpu_edp_limits_size;
+
+ if (!trips || !num_trips)
+ return;
+
+ /* edp capping */
+ tegra_get_cpu_edp_limits(&cpu_edp_limits, &cpu_edp_limits_size);
+
+ if (cpu_edp_limits_size > MAX_THROT_TABLE_SIZE)
+ BUG();
+
+ for (i = 0; i < cpu_edp_limits_size-1; i++) {
+ trip_state = &trips[*num_trips];
+
+ trip_state->cdev_type = "edp";
+ trip_state->trip_temp =
+ cpu_edp_limits[i].temperature * 1000;
+ trip_state->trip_type = THERMAL_TRIP_ACTIVE;
+ trip_state->state = i + 1;
+ trip_state->hysteresis = 1000;
+
+ (*num_trips)++;
+
+ if (*num_trips >= NCT_MAX_TRIPS)
+ BUG();
+ }
+}
+
#ifdef CONFIG_DEBUG_FS
static int edp_limit_debugfs_show(struct seq_file *s, void *data)