diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2008-10-27 16:30:24 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2008-10-27 16:30:24 +0000 |
commit | a9e69d935cb5c2e5ffca1bbc977252ce7661d343 (patch) | |
tree | 8ac65804b294cfe7cc55febe445f904a1b33cb0e /firmware/target/arm/imx31 | |
parent | e5d72ac5f767a66b11c7a46dfb4edd322f7a723d (diff) | |
download | rockbox-a9e69d935cb5c2e5ffca1bbc977252ce7661d343.tar.gz rockbox-a9e69d935cb5c2e5ffca1bbc977252ce7661d343.zip |
Strange little kernel optimization to ease targeting the timer tick and to limit the number of loops in the tick function to the number of tasks added rather than always looping the max number.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18893 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/kernel-imx31.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/kernel-imx31.c b/firmware/target/arm/imx31/gigabeat-s/kernel-imx31.c index e7bce8dc2c..3d7c577e3c 100644 --- a/firmware/target/arm/imx31/gigabeat-s/kernel-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/kernel-imx31.c | |||
@@ -27,22 +27,12 @@ | |||
27 | #include "kernel.h" | 27 | #include "kernel.h" |
28 | #include "thread.h" | 28 | #include "thread.h" |
29 | 29 | ||
30 | extern void (*tick_funcs[MAX_NUM_TICK_TASKS])(void); | ||
31 | |||
32 | static __attribute__((interrupt("IRQ"))) void EPIT1_HANDLER(void) | 30 | static __attribute__((interrupt("IRQ"))) void EPIT1_HANDLER(void) |
33 | { | 31 | { |
34 | int i; | ||
35 | |||
36 | EPITSR1 = EPITSR_OCIF; /* Clear the pending status */ | 32 | EPITSR1 = EPITSR_OCIF; /* Clear the pending status */ |
37 | 33 | ||
38 | /* Run through the list of tick tasks */ | 34 | /* Run through the list of tick tasks */ |
39 | for(i = 0;i < MAX_NUM_TICK_TASKS;i++) | 35 | call_tick_tasks(); |
40 | { | ||
41 | if(tick_funcs[i]) | ||
42 | tick_funcs[i](); | ||
43 | } | ||
44 | |||
45 | current_tick++; | ||
46 | } | 36 | } |
47 | 37 | ||
48 | void tick_start(unsigned int interval_in_ms) | 38 | void tick_start(unsigned int interval_in_ms) |