summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board.h
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-05-26 13:21:03 -0700
committerGary King <gking@nvidia.com>2010-05-26 13:52:32 -0700
commit0202472b755b276783a290fe44b29a2def8de3b5 (patch)
tree1b46c2154351cb989a304e981ffceb0521beff1e /arch/arm/mach-tegra/board.h
parenta72d357915efd4e9816d6fe07bfd75bba8298a7e (diff)
[ARM/tegra] add cpufreq driver
tegra cpufreq uses the dynamic voltage and frequency scaling code in the tegra RM to update the CPU and bus clocks on-the-fly, and to dynamically add and remove CPUs from the SMP cluster. this code runs in a background kernel task named cpufreq-dvfsd. all of the resources needed for cpufreq are allocated during kernel initialization; however, starting the DVFS thread is deferred until tegra_start_dvfsd is called (triggered by a user-space action, such as opening the RM device node, an ioctl on the RM device node, or writing to a sysfs node), because running the DVFS daemon during kernel init causes numerous problems Change-Id: I113e6a71b2405e9f33b9ec4912ff40d229d96a02
Diffstat (limited to 'arch/arm/mach-tegra/board.h')
-rw-r--r--arch/arm/mach-tegra/board.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board.h b/arch/arm/mach-tegra/board.h
index 06ea725f3ef0..85195a8cc87d 100644
--- a/arch/arm/mach-tegra/board.h
+++ b/arch/arm/mach-tegra/board.h
@@ -29,5 +29,11 @@ void __init tegra_init_irq(void);
void __init tegra_init_clock(void);
void __init tegra_init_suspend(void);
+#ifdef CONFIG_CPU_FREQ
+int tegra_start_dvfsd(void);
+#else
+#define tegra_start_dvfsd() (0)
+#endif
+
extern struct sys_timer tegra_timer;
#endif