summaryrefslogtreecommitdiffstats
path: root/firmware/timer.c
AgeCommit message (Collapse)AuthorFilesLines
2019-10-17Fix timer Agptek Rocker (other hosted players)William Wilgus1-0/+4
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
2009-06-29Remove the TIMER_* macros and declare target-specific functions in timer.hRafaël Carré1-11/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21559 a1c6a512-1295-4272-9138-f99709370657
2009-06-29Remove int_prio argument from timer_register, and move the only use for it ↵Rafaël Carré1-28/+3
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-29Move PP (last target) timer code in target treeRafaël Carré1-62/+9
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-29Move SH7034 timer code in the target treeRafaël Carré1-56/+5
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-29Move coldfire timer code in the target treeRafaël Carré1-81/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21555 a1c6a512-1295-4272-9138-f99709370657
2009-06-29Move PNX0101 timer code in the target treeRafaël Carré1-49/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21554 a1c6a512-1295-4272-9138-f99709370657
2009-06-29Rename TIMER_REGISTER macro to TIMER_START and TIMER_UNREGISTER to ↵Rafaël Carré1-6/+4
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-29Move Sansa AMS timer code in the target treeRafaël Carré1-35/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21552 a1c6a512-1295-4272-9138-f99709370657
2009-06-13Fix bug in earlier commit of FS#10317: don't mix TIMER1 and TIMER2 settingsBertrik Sikken1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21273 a1c6a512-1295-4272-9138-f99709370657
2009-06-12FS#10317 - Sansa AMS 32-bit timers. Configure the timers for 32-bit mode ↵Bertrik Sikken1-16/+10
instead of the default 16-bit mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21266 a1c6a512-1295-4272-9138-f99709370657
2009-01-05Gigabeat S: Get timer API working. metronome will work now.Michael Sevakis1-8/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19676 a1c6a512-1295-4272-9138-f99709370657
2008-12-05Sansa AMS: correct VIC registers usageRafaël Carré1-1/+1
* 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-11-06AS3525: timer supportRafaël Carré1-7/+48
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19025 a1c6a512-1295-4272-9138-f99709370657
2008-06-28Updated our source code header to explicitly mention that we are GPL v2 orDaniel Stenberg1-2/+4
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-03Rename CPU/COP_INT_CLR to CPU/COP_INT_DIS since it's really a 'write one to ↵Michael Sevakis1-4/+4
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-04-24Commit whole Creative Zen Vision:M target tree + all related firmware/ Maurus Cuelenaere1-1/+1
changes. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17241 a1c6a512-1295-4272-9138-f99709370657
2008-04-15Kill warnings that annoy me when building for Gigabeat S.Michael Sevakis1-0/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17120 a1c6a512-1295-4272-9138-f99709370657
2008-04-06Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now ↵Michael Sevakis1-3/+3
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-04Allow to select the core for running the user timer on portalplayer targets. ↵Jens Arnold1-5/+14
* Incompatible plugin API change -> sorted API. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16965 a1c6a512-1295-4272-9138-f99709370657
2007-09-22Fix empty commit: Add grayscale support for ARM in vertical packing format.Tomasz Malesinski1-1/+1
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-22A few minor cleanups for the Gigabeat SWill Robertson1-0/+4
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14812 a1c6a512-1295-4272-9138-f99709370657
2007-09-20Beginning of an M:Robe 500i port. Currently only in the bootloader stage. ↵Karl Kurbjun1-2/+2
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-07-06Gigabeat: Add timer functionality. Rework tick timer setup to be exactly ↵Michael Sevakis1-16/+27
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-03-24PNX0101 changes:Tomasz Malesinski1-3/+45
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
2006-11-22Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriateDaniel Ankers1-7/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-10-23reduce the number of gigabeat warningsMarcoen Hirschberg1-1/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11316 a1c6a512-1295-4272-9138-f99709370657
2006-09-01Make backlight fading work again on PP targets. The PP timer cannot handle a ↵Jens Arnold1-2/+2
(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-01Fixed an off-by-one error in the portalplayer timer handling.Jens Arnold1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10837 a1c6a512-1295-4272-9138-f99709370657
2006-08-28Fix broken backlight fading on ipod. The timer period setting must not be ↵Jens Arnold1-4/+8
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-27PP: Make on-the-fly timer period changes glitch-free. Stop timer when not in ↵Jens Arnold1-17/+23
use. * #ifdef cleanup git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10776 a1c6a512-1295-4272-9138-f99709370657
2006-08-25Ooops. The TMR reset must only be done when starting the timer.Linus Nielsen Feltzing1-4/+5
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10744 a1c6a512-1295-4272-9138-f99709370657
2006-08-25Fix the problem with the user timer on X5 by explicitly resetting the timer ↵Linus Nielsen Feltzing1-0/+4
before setting it git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10743 a1c6a512-1295-4272-9138-f99709370657
2006-04-04Simplification for user timer on coldfire. We define TIMER_FREQ separately ↵Jens Arnold1-4/+0
anyway. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9479 a1c6a512-1295-4272-9138-f99709370657
2006-03-17Add timer.c module support for ipods. Remove uneeded SIMULATOR check.Thom Johansen1-9/+37
Introduce TIMER_FREQ define. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9067 a1c6a512-1295-4272-9138-f99709370657
2006-02-05Further iPod 3G work from Seven Le MesleDave Chapman1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8583 a1c6a512-1295-4272-9138-f99709370657
2006-02-03Fixed warnings on iFP.Tomasz Malesinski1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
2005-11-11iPod: Code cleanup - the bootloader now compiles with zero warningsDave Chapman1-1/+12
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7812 a1c6a512-1295-4272-9138-f99709370657
2005-11-05Fixup of the MCF5249 memory mapped register definitions.Jens Arnold1-2/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
2005-10-03Coldfire: New timer handling on CPU frequency change, adjusting the ↵Jens Arnold1-4/+28
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-07-26Moved implementation of user timer to the firmware layer, implemented it for ↵Jens Arnold1-0/+181
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