William Wilgus
1da2708a7c
Fix timer Agptek Rocker (other hosted players)
...
on timer_unregister callbacks are not removed
It seems (at least on the Rocker) timers continue to fire (for a bit??)
Now we store the registered callback in the sigev structure and check
that the callback matches the one registered when the timer is created.
This should stop the possible case of a new timer getting spurious callbacks
We also now NULL the callbacks on un-register which should stop the segfaults
Added some notes to timer.c and timer.h
Change-Id: Ia155c3a4e4af89f474d55ed845560ccc1fab85aa
2019-10-17 21:19:00 +02:00
Rafaël Carré
c5dedd7d76
Remove the TIMER_* macros and declare target-specific functions in timer.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21559 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:57 +00:00
Rafaël Carré
89ccd5c145
Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034
...
Also remove it from TIMER_START()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21558 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:46 +00:00
Rafaël Carré
b955dff268
Move PP (last target) timer code in target tree
...
Put warnings in timer.h for incomplete targets (TIMER_FREQ not defined and/or timer-target.h inexistant)
Correct TIMER_STOP & TIMER_START macros arguments for target without timers
TIMER_START takes an extra argument in multicore builds (macro in macro doesn't work fine..)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21557 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:35 +00:00
Rafaël Carré
b3ed33d04a
Move SH7034 timer code in the target tree
...
Add an argument int_prio to TIMER_START() macro because SH7034 needs it
Leaves a target specific code in timer_register (could be given to target code through timer_set and __timer_set() )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21556 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:14 +00:00
Rafaël Carré
c34ca87b64
Move coldfire timer code in the target tree
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21555 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:06 +00:00
Rafaël Carré
15a7f5e5e9
Move PNX0101 timer code in the target tree
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21554 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:02 +00:00
Rafaël Carré
e0640c3c4b
Rename TIMER_REGISTER macro to TIMER_START and TIMER_UNREGISTER to TIMER_STOP to reflect what they does exactly.
...
registering and unregistering are handled by the non target-specific functions of timer.c
Remove arguments from the new TIMER_START since they are unused by targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21553 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:28:56 +00:00
Rafaël Carré
15e40dd3a6
Move Sansa AMS timer code in the target tree
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21552 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:28:49 +00:00
Bertrik Sikken
52c46f2ec6
Fix bug in earlier commit of FS#10317: don't mix TIMER1 and TIMER2 settings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21273 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 15:01:25 +00:00
Bertrik Sikken
d1faf8b39c
FS#10317 - Sansa AMS 32-bit timers. Configure the timers for 32-bit mode instead of the default 16-bit mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21266 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 21:11:45 +00:00
Michael Sevakis
e2876ee4e2
Gigabeat S: Get timer API working. metronome will work now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19676 a1c6a512-1295-4272-9138-f99709370657
2009-01-05 00:00:29 +00:00
Rafaël Carré
f07aa65117
Sansa AMS: correct VIC registers usage
...
* Do not use |= on write only registers
* Do use it in when setting kernel tick timer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19350 a1c6a512-1295-4272-9138-f99709370657
2008-12-05 14:37:28 +00:00
Rafaël Carré
c3e667c198
AS3525: timer support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19025 a1c6a512-1295-4272-9138-f99709370657
2008-11-06 02:31:32 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Michael Sevakis
191320cd0f
Rename CPU/COP_INT_CLR to CPU/COP_INT_DIS since it's really a 'write one to disable' register and hasn't anything to do with acknowledging interrupts-- that's handled at the module level.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17683 a1c6a512-1295-4272-9138-f99709370657
2008-06-03 05:08:24 +00:00
Maurus Cuelenaere
95167e0177
Commit whole Creative Zen Vision:M target tree + all related firmware/
...
changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-24 20:08:28 +00:00
Michael Sevakis
040b6cc654
Kill warnings that annoy me when building for Gigabeat S.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17120 a1c6a512-1295-4272-9138-f99709370657
2008-04-15 14:44:32 +00:00
Michael Sevakis
05099149f1
Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16981 a1c6a512-1295-4272-9138-f99709370657
2008-04-06 04:34:57 +00:00
Jens Arnold
ac9b92716a
Allow to select the core for running the user timer on portalplayer targets. * Incompatible plugin API change -> sorted API.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16965 a1c6a512-1295-4272-9138-f99709370657
2008-04-04 19:38:46 +00:00
Tomasz Malesinski
4fc77ac3ff
Fix empty commit: Add grayscale support for ARM in vertical packing format.
...
Enable grayscale for Iriver ifp. Fix timer_unregister for PNX0101.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14825 a1c6a512-1295-4272-9138-f99709370657
2007-09-22 23:37:58 +00:00
Will Robertson
26a05afe10
A few minor cleanups for the Gigabeat S
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14812 a1c6a512-1295-4272-9138-f99709370657
2007-09-22 02:17:08 +00:00
Karl Kurbjun
7b97fe21c0
Beginning of an M:Robe 500i port. Currently only in the bootloader stage. Needs another piece of code to start the boot process - will be in the wiki.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14763 a1c6a512-1295-4272-9138-f99709370657
2007-09-20 04:46:41 +00:00
Michael Sevakis
4ae87c8b8a
Gigabeat: Add timer functionality. Rework tick timer setup to be exactly 100Hz. Metronome should work now but some pcm changes are needed to have faster tocks work correctly (in the works).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13806 a1c6a512-1295-4272-9138-f99709370657
2007-07-06 21:36:32 +00:00
Tomasz Malesinski
cd630c9e0a
PNX0101 changes:
...
Make PNX0101-specific system.c and crt0.S.
Add new register names from LPC2880 user manual.
Add support for timer.
Enable CPU frequency changing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12904 a1c6a512-1295-4272-9138-f99709370657
2007-03-24 19:26:13 +00:00
Daniel Ankers
242cbd5cd7
Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriate
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:41:30 +00:00
Marcoen Hirschberg
37f7f0b23b
reduce the number of gigabeat warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11316 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 13:11:57 +00:00
Jens Arnold
7d8c5aaf6a
Make backlight fading work again on PP targets. The PP timer cannot handle a (real) cycle count of 1, the minimum is 2. This is now checked in timer_register() and timer_set_period().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10849 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 22:03:14 +00:00
Jens Arnold
1bb8657a8f
Fixed an off-by-one error in the portalplayer timer handling.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10837 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 06:13:33 +00:00
Jens Arnold
bb5fbf7c30
Fix broken backlight fading on ipod. The timer period setting must not be delayed if timer_set_period() is called from within the isr.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10779 a1c6a512-1295-4272-9138-f99709370657
2006-08-28 06:47:26 +00:00
Jens Arnold
e9086e05ee
PP: Make on-the-fly timer period changes glitch-free. Stop timer when not in use. * #ifdef cleanup
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10776 a1c6a512-1295-4272-9138-f99709370657
2006-08-27 23:43:04 +00:00
Linus Nielsen Feltzing
07eea49347
Ooops. The TMR reset must only be done when starting the timer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10744 a1c6a512-1295-4272-9138-f99709370657
2006-08-25 11:46:04 +00:00
Linus Nielsen Feltzing
798a8c1b76
Fix the problem with the user timer on X5 by explicitly resetting the timer before setting it
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10743 a1c6a512-1295-4272-9138-f99709370657
2006-08-25 10:18:16 +00:00
Jens Arnold
295ec69717
Simplification for user timer on coldfire. We define TIMER_FREQ separately anyway.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9479 a1c6a512-1295-4272-9138-f99709370657
2006-04-04 01:16:11 +00:00
Thom Johansen
46de4c21fe
Add timer.c module support for ipods. Remove uneeded SIMULATOR check.
...
Introduce TIMER_FREQ define.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9067 a1c6a512-1295-4272-9138-f99709370657
2006-03-17 00:08:39 +00:00
Dave Chapman
987879b958
Further iPod 3G work from Seven Le Mesle
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 17:34:49 +00:00
Tomasz Malesinski
c31d2f84b7
Fixed warnings on iFP.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
2006-02-03 23:14:42 +00:00
Dave Chapman
d31a32c501
iPod: Code cleanup - the bootloader now compiles with zero warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7812 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 17:51:35 +00:00
Jens Arnold
72f98786a0
Fixup of the MCF5249 memory mapped register definitions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-11-05 03:28:20 +00:00
Jens Arnold
cfb073c452
Coldfire: New timer handling on CPU frequency change, adjusting the prescaler on the fly, for both tick and user timer. Precondition is that the higher frequencies are integer multiples of the base: now NORMAL is 45 MHz and MAX is 124 MHz. Removes the need for applications with longer timer periods (>= 10 ms) to boost the CPU all the time, e.g. the grayscale lib. Timer counts are now always based on the base frequency (CPU_FREQ). * Adjusted the RAM refresh timers to the new frequencies (all frequencies for H100) * All: Fixed the tick timer count being off by one.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7576 a1c6a512-1295-4272-9138-f99709370657
2005-10-03 09:24:36 +00:00
Jens Arnold
e44372ef18
Moved implementation of user timer to the firmware layer, implemented it for iriver, and made it shareable based on priorities. On iriver, the user timer is shared between the backlight fading and other use, so if a plugin registers the timer, the backlight will resort to simple on/off switching until the plugin releases the timer again. Sorted and bumped the plugin api.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7242 a1c6a512-1295-4272-9138-f99709370657
2005-07-26 20:01:11 +00:00