diff options
author | Diwakar Tundlam <dtundlam@nvidia.com> | 2013-01-11 15:27:43 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 12:50:30 -0700 |
commit | 11a2d5c5ac4aa2625bd7b7f390dadc39565fc4dc (patch) | |
tree | b571d733437500edccada6de8379818d70628a19 /arch/arm/mach-tegra/edp.c | |
parent | 1e65d9328d5637104cbb065fd0370caa794f0092 (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.c | 32 |
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) |