diff options
author | Gary King <gking@nvidia.com> | 2010-05-26 13:21:03 -0700 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-05-26 13:52:32 -0700 |
commit | 0202472b755b276783a290fe44b29a2def8de3b5 (patch) | |
tree | 1b46c2154351cb989a304e981ffceb0521beff1e /arch/arm/mach-tegra/board.h | |
parent | a72d357915efd4e9816d6fe07bfd75bba8298a7e (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.h | 6 |
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 |