diff options
Diffstat (limited to 'firmware/target/arm/pp/system-pp5002.c')
-rw-r--r-- | firmware/target/arm/pp/system-pp5002.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/firmware/target/arm/pp/system-pp5002.c b/firmware/target/arm/pp/system-pp5002.c index 3186d3739a..388f962fce 100644 --- a/firmware/target/arm/pp/system-pp5002.c +++ b/firmware/target/arm/pp/system-pp5002.c | |||
@@ -24,6 +24,11 @@ | |||
24 | #include "adc-target.h" | 24 | #include "adc-target.h" |
25 | #include "button-target.h" | 25 | #include "button-target.h" |
26 | 26 | ||
27 | #if defined(HAVE_ADJUSTABLE_CPU_FREQ) && (NUM_CORES > 1) | ||
28 | #include "corelock.h" | ||
29 | static struct corelock cpufreq_cl SHAREDBSS_ATTR; | ||
30 | #endif | ||
31 | |||
27 | extern void TIMER1(void); | 32 | extern void TIMER1(void); |
28 | extern void TIMER2(void); | 33 | extern void TIMER2(void); |
29 | 34 | ||
@@ -122,6 +127,18 @@ static void ipod_init_cache(void) | |||
122 | } | 127 | } |
123 | 128 | ||
124 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 129 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
130 | #if NUM_CORES > 1 | ||
131 | void set_cpu_frequency__lock(void) | ||
132 | { | ||
133 | corelock_lock(&cpufreq_cl); | ||
134 | } | ||
135 | |||
136 | void set_cpu_frequency__unlock(void) | ||
137 | { | ||
138 | corelock_unlock(&cpufreq_cl); | ||
139 | } | ||
140 | #endif /* NUM_CORES > 1 */ | ||
141 | |||
125 | void set_cpu_frequency(long frequency) | 142 | void set_cpu_frequency(long frequency) |
126 | #else | 143 | #else |
127 | static void pp_set_cpu_frequency(long frequency) | 144 | static void pp_set_cpu_frequency(long frequency) |
@@ -193,7 +210,7 @@ void system_init(void) | |||
193 | 210 | ||
194 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ | 211 | #ifdef HAVE_ADJUSTABLE_CPU_FREQ |
195 | #if NUM_CORES > 1 | 212 | #if NUM_CORES > 1 |
196 | cpu_boost_init(); | 213 | corelock_init(&cpufreq_cl); |
197 | #endif | 214 | #endif |
198 | #else | 215 | #else |
199 | pp_set_cpu_frequency(CPUFREQ_MAX); | 216 | pp_set_cpu_frequency(CPUFREQ_MAX); |