summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-06-03 11:35:56 +0000
committerThomas Martitz <kugel@rockbox.org>2009-06-03 11:35:56 +0000
commitd1b0ee9f046ea3ee9879bb7f35e3795d6efe08c5 (patch)
tree3f4517986d2c74bc1c4c959d13c8d33771b40757
parent52a8e38806f801994b3797251b634378fcbdb6ec (diff)
downloadrockbox-d1b0ee9f046ea3ee9879bb7f35e3795d6efe08c5.tar.gz
rockbox-d1b0ee9f046ea3ee9879bb7f35e3795d6efe08c5.zip
Change the timer interrupt setup so that TIMER_FREQ is changed for HAVE_SCROLLWHEEL (which read the scrollwheel between tick tasks too) instead of the generated variable. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21177 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/as3525/kernel-as3525.c5
-rw-r--r--firmware/target/arm/as3525/timer-target.h9
2 files changed, 8 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/kernel-as3525.c b/firmware/target/arm/as3525/kernel-as3525.c
index fd3b219e64..0f907f61e3 100644
--- a/firmware/target/arm/as3525/kernel-as3525.c
+++ b/firmware/target/arm/as3525/kernel-as3525.c
@@ -57,11 +57,6 @@ void tick_start(unsigned int interval_in_ms)
int prescale = 1;
int cycles = TIMER_FREQ / 1000 * interval_in_ms;
-#ifdef HAVE_SCROLLWHEEL
- /* let the timer interrupt twice as often for the scrollwheel polling */
- cycles >>= 1;
-#endif
-
while(cycles > 0x10000)
{
phi++;
diff --git a/firmware/target/arm/as3525/timer-target.h b/firmware/target/arm/as3525/timer-target.h
index 21ee6e7804..b5cdb74e85 100644
--- a/firmware/target/arm/as3525/timer-target.h
+++ b/firmware/target/arm/as3525/timer-target.h
@@ -25,7 +25,14 @@ bool __timer_set(long cycles, bool set);
bool __timer_register(void);
void __timer_unregister(void);
-#define TIMER_FREQ (24000000 / 16)
+#ifdef HAVE_SCROLLWHEEL
+/* The scrollwheel is polled every 5 ms (the tick tasks still every 10ms) */
+#define TIMER_DIV (16*2)
+#else
+#define TIMER_DIV (16)
+#endif
+
+#define TIMER_FREQ (24000000 / TIMER_DIV)
#define __TIMER_SET(cycles, set) \
__timer_set(cycles, set)