summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tcc780x/timer-tcc780x.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-10-27 16:30:24 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-10-27 16:30:24 +0000
commita9e69d935cb5c2e5ffca1bbc977252ce7661d343 (patch)
tree8ac65804b294cfe7cc55febe445f904a1b33cb0e /firmware/target/arm/tcc780x/timer-tcc780x.c
parente5d72ac5f767a66b11c7a46dfb4edd322f7a723d (diff)
downloadrockbox-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/tcc780x/timer-tcc780x.c')
-rw-r--r--firmware/target/arm/tcc780x/timer-tcc780x.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/firmware/target/arm/tcc780x/timer-tcc780x.c b/firmware/target/arm/tcc780x/timer-tcc780x.c
index c08520116a..17956131c0 100644
--- a/firmware/target/arm/tcc780x/timer-tcc780x.c
+++ b/firmware/target/arm/tcc780x/timer-tcc780x.c
@@ -46,25 +46,12 @@ void __timer_unregister(void)
46 46
47 47
48/* Timer interrupt processing - all timers (inc. tick) have a single IRQ */ 48/* Timer interrupt processing - all timers (inc. tick) have a single IRQ */
49
50extern void (*tick_funcs[MAX_NUM_TICK_TASKS])(void);
51
52void TIMER0(void) 49void TIMER0(void)
53{ 50{
54 if (TIREQ & TF0) /* Timer0 reached ref value */ 51 if (TIREQ & TF0) /* Timer0 reached ref value */
55 { 52 {
56 int i;
57
58 /* Run through the list of tick tasks */ 53 /* Run through the list of tick tasks */
59 for(i = 0; i < MAX_NUM_TICK_TASKS; i++) 54 call_tick_tasks();
60 {
61 if(tick_funcs[i])
62 {
63 tick_funcs[i]();
64 }
65 }
66
67 current_tick++;
68 55
69 /* reset Timer 0 IRQ & ref flags */ 56 /* reset Timer 0 IRQ & ref flags */
70 TIREQ |= TI0 | TF0; 57 TIREQ |= TI0 | TF0;