Commit graph

48 commits

Author SHA1 Message Date
Nicolas Pennequin
1839edf64a Add queue_peek to the kernel (written by Mike Sevakis), and use it to improve upon my previous commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15336 a1c6a512-1295-4272-9138-f99709370657
2007-10-27 18:08:18 +00:00
Michael Sevakis
a9b2fb5ee3 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Linus Nielsen Feltzing
16301880a1 Make sure that audio_resume() is not called in interrupt context when car adapter mode is enabled. Fixes FS#7304.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15034 a1c6a512-1295-4272-9138-f99709370657
2007-10-08 09:09:40 +00:00
Michael Sevakis
7914e90738 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Will Robertson
590501cfe4 Merge the Gigabeat S branch back into trunk. Fingers crossed nothing breaks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14805 a1c6a512-1295-4272-9138-f99709370657
2007-09-21 15:51:53 +00:00
Michael Sevakis
0107dfc827 UISIMULATOR: Give the host OS some needed context switching hints (which _is_ supposed to work on Linux - but I can't tell on VMWare - and does on Windows). I guess I'll know for sure soon. Give sleep() even more genuine behavior. Add some button driver sync with the rockbox threads that should have been there for some time - this is basically interrupt-like processing as any thread not in the kernel pool should be considered. Make the screendump work again by posting the request. Perhaps help out shutting down for some users but not in the way I'd prefer - to think about.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14646 a1c6a512-1295-4272-9138-f99709370657
2007-09-09 01:59:07 +00:00
Michael Sevakis
e64f7e3a6f Add a new timeout API to the kernel. Enable only for e200 right now since it's the only user. Use that as the one-shot delay for SD card inserts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14049 a1c6a512-1295-4272-9138-f99709370657
2007-07-29 04:49:19 +00:00
Michael Sevakis
5832b59c85 Fix warnings and errors. Remove some added stuff that wasn't needed afterall.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14036 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 08:45:57 +00:00
Michael Sevakis
58fc279d26 Scroll on main and remote with a single thread. Change the way system messages are defined before running out is an issue (which requires a full update of rockbox on the player).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14035 a1c6a512-1295-4272-9138-f99709370657
2007-07-28 08:12:05 +00:00
Michael Sevakis
1167e3c72f Accept FS#7134 - Sansa: external sd card support by Antonius Hellmann with some tweaks. All testers have given the green light. (Now for the RED ?? ;).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13741 a1c6a512-1295-4272-9138-f99709370657
2007-06-30 02:08:27 +00:00
Michael Sevakis
6bba70b0ec current_tick really does need to be volatile since gcc can optimize away checking the value otherwise - found out the hard way. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13715 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 20:46:54 +00:00
Miika Pekkarinen
66258a30a4 Make scheduler functions thread safe core wise. A big step towards playback running on COP (not yet possible because more protection on file system level is necessary).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 16:55:17 +00:00
Michael Sevakis
0caf3b8cae Update sync queues to use a statically allocated return value in order to facilitate upcoming COP updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12881 a1c6a512-1295-4272-9138-f99709370657
2007-03-21 22:58:53 +00:00
Miika Pekkarinen
2eefb5acb8 Optimized the gui list code performance, including automatic frame dropping and cpu boosting when button events are getting queued. Improved scrollwheel acceleration code is needed to notice a real change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12721 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 10:52:36 +00:00
Michael Sevakis
178afc9caf As usual I left experimental stuff in a file. Forgot to add that set_irq_level_and_block thread is per core now too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12689 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 08:09:48 +00:00
Michael Sevakis
dee43ece20 Put an end to priority inversion in the ata driver. Gave up trying to have fully atomic dual use mutexes so just replaced the ata driver locking with spins. Maybe I'll have better luck later. Things should run smoothly with database updates and such happening in the background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12688 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 08:03:18 +00:00
Michael Sevakis
4b902679cc Convert queues to use intptr_t for event data and return values as most of the time pointer are not passed and it should make some things a bit cleaner.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 16:50:07 +00:00
Michael Sevakis
8b4970031f Goofed some preprocessor stuff finalizing things.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11777 a1c6a512-1295-4272-9138-f99709370657
2006-12-16 18:41:45 +00:00
Michael Sevakis
43c15921e4 Add queue_send synchronous message sending. Right now only for SWCODEC. Actual usage to be added to playback and recording shortly in upcoming commits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11776 a1c6a512-1295-4272-9138-f99709370657
2006-12-16 18:35:12 +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
Linus Nielsen Feltzing
4950b55837 Patch #6052 - More responsive skip on Archos
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11273 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 11:43:13 +00:00
Linus Nielsen Feltzing
537c7546f9 Patch #4899 by Robert Keevil - Automatic pause on iPod when removing the headphones
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11057 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 10:03:56 +00:00
Miika Pekkarinen
a85044bf9e New scheduler, with priorities for swcodec platforms. Frequent task
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Brandon Low
780e8dd0ef Fix other yellow builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8914 a1c6a512-1295-4272-9138-f99709370657
2006-03-05 18:40:51 +00:00
Dave Chapman
d16a8b8845 More iPod 3G changes from Seven Le Mesle, and some unification of the iPod code from me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8581 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 16:52:22 +00:00
Linus Nielsen Feltzing
765e0f89d8 New kernel function, queue_delete(struct event_queue *q)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8424 a1c6a512-1295-4272-9138-f99709370657
2006-01-23 10:53:47 +00:00
Dave Chapman
cb7e695ef9 iPod: Fix the bootloader so it can load and run the original Apple firmware again. The Rockbox firmware was doing too much to the hardware so we remove most of the initialisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8301 a1c6a512-1295-4272-9138-f99709370657
2006-01-05 17:02:48 +00:00
Thom Johansen
544b03cf9a Add interrupt handler for iPod. Add timer tick support. Remove temporary thread sleep solution. Remove temporary iPod current_tick solution.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8224 a1c6a512-1295-4272-9138-f99709370657
2005-12-12 13:53:22 +00:00
Jens Arnold
fed2c567af Increased number of possible tick tasks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8050 a1c6a512-1295-4272-9138-f99709370657
2005-11-23 08:51:48 +00:00
Dave Chapman
e3367212bd iPod: Make current_tick signed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8003 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 21:51:00 +00:00
Dave Chapman
77372d1218 Initial commit of work-in-progress iPod port
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7781 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 23:07:19 +00:00
Linus Nielsen Feltzing
8f2a3e91dc Increased max number of tick tasks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6804 a1c6a512-1295-4272-9138-f99709370657
2005-06-22 14:00:17 +00:00
Jens Arnold
23797afb0b Hot-plug support for iriver remote.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6625 a1c6a512-1295-4272-9138-f99709370657
2005-06-08 22:48:23 +00:00
Linus Nielsen Feltzing
ce726be195 Added the IS_SYSEVENT() macro
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6256 a1c6a512-1295-4272-9138-f99709370657
2005-04-06 13:05:06 +00:00
Linus Nielsen Feltzing
3d2178148b Moved the car adapter mode handling to apps/, now every thread gets SYS_CHARGER_CONNECTED and SYS_CHARGER_DISCONNECTED events
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6255 a1c6a512-1295-4272-9138-f99709370657
2005-04-06 11:12:22 +00:00
Linus Nielsen Feltzing
76620fbe5b Export tick_start() to allow for tick timer reinit when changing CPU frequency
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6092 a1c6a512-1295-4272-9138-f99709370657
2005-03-01 14:33:45 +00:00
Daniel Stenberg
22b7701fe7 Build cleanup and general fixes. fprintf() is now fdprintf(), the separation
between uisimulator files and firmware/apps files are better done.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6031 a1c6a512-1295-4272-9138-f99709370657
2005-02-22 12:19:12 +00:00
Jean-Philippe Bernardy
8a77317e9c long policy
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5716 a1c6a512-1295-4272-9138-f99709370657
2005-01-30 15:40:25 +00:00
Jörg Hohensohn
3c758c13af do the hotswap
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5702 a1c6a512-1295-4272-9138-f99709370657
2005-01-28 22:35:20 +00:00
Jean-Philippe Bernardy
34d2a71fdd More int -> long
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5654 a1c6a512-1295-4272-9138-f99709370657
2005-01-24 14:26:24 +00:00
Daniel Stenberg
7c5169d4c5 Jean-Philippe Bernardy: fixed to use long for 32 bit values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5555 a1c6a512-1295-4272-9138-f99709370657
2005-01-10 22:00:54 +00:00
Linus Nielsen Feltzing
86264666f6 SYS_xxx events now don't share bits with regular events. New event: SYS_POWEROFF.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5257 a1c6a512-1295-4272-9138-f99709370657
2004-10-12 10:58:11 +00:00
Jens Arnold
f5bdf6952c First part of MMC hotswap handling; removed unnecessary MMC thread
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5241 a1c6a512-1295-4272-9138-f99709370657
2004-10-10 00:35:19 +00:00
Linus Nielsen Feltzing
25d162d6ce Made queue_clear() atomic, and made the argument non-const
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5032 a1c6a512-1295-4272-9138-f99709370657
2004-09-01 07:39:16 +00:00
Linus Nielsen Feltzing
9872fead25 New kernel function: queue_clear()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5029 a1c6a512-1295-4272-9138-f99709370657
2004-09-01 06:20:21 +00:00
Jens Arnold
c76c568b35 Const policed pointer arguments to functions, part 1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4995 a1c6a512-1295-4272-9138-f99709370657
2004-08-16 23:37:23 +00:00
Linus Nielsen Feltzing
f9c780ccc1 The cli()/sti() functions are not safe. We should have removed them long ago.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4314 a1c6a512-1295-4272-9138-f99709370657
2004-02-25 13:00:36 +00:00
Daniel Stenberg
f9b4490066 Include File Cleanup And Move-Around Party 2003.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3213 a1c6a512-1295-4272-9138-f99709370657
2003-02-07 09:41:57 +00:00
Renamed from firmware/include/kernel.h (Browse further)