Commit graph

54 commits

Author SHA1 Message Date
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
Jens Arnold
61b8604a9c Ondio: (Hopefully) fix the occasional freezes during playback: Use DMA channel 0 for MMC transfer. As it has higher priority than channel 3 (used for playback), the risk of serial receive overruns is minimised.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9885 a1c6a512-1295-4272-9138-f99709370657
2006-05-07 20:20:27 +00:00
Jens Arnold
a8c1c20305 Removed unused ata_standby(), changed return type of ata_sleep() to void, removed misleading comment from ata.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7782 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 23:19:06 +00:00
Jens Arnold
8f1ace7525 Ondio: Fix multivolume and hotswap for the old MMC clock circuit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6502 a1c6a512-1295-4272-9138-f99709370657
2005-05-22 00:42:00 +00:00
Jens Arnold
27abc2a641 (1) Early USB detection on boot, before trying to mount the partitions. Cleaner & quicker; removes the need for the extra USB check at the top of ask_resume() which caused a deadlock in screenshot mode (see patch #1110332). On Ondio, this allows to leave an MMC in the slot when booting with USB connected for instant access. (2) Ondio: Track MMC status, only ask to remove the card if required. Probe MMC status if unknown.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6488 a1c6a512-1295-4272-9138-f99709370657
2005-05-17 22:10:51 +00:00
Jens Arnold
fe1ce9d842 Hotswap: Better placement for switching the MMC monitor off/on.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6480 a1c6a512-1295-4272-9138-f99709370657
2005-05-16 15:21:09 +00:00
Jens Arnold
15d7077c3a Hotswap: Avoid mount race at startup and after returning from USB mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6479 a1c6a512-1295-4272-9138-f99709370657
2005-05-16 13:25:02 +00:00
Jens Arnold
268f0b4337 Some code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6471 a1c6a512-1295-4272-9138-f99709370657
2005-05-14 17:23:13 +00:00
Jens Arnold
251deaa4ca Improved bitfield handling for settings and MMC (more straigtforward, smaller code). This switches the order for fields crossing a longword boundary, so the config block version bump is necessary. Save your settings to a file before upgrading.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6404 a1c6a512-1295-4272-9138-f99709370657
2005-05-04 22:30:36 +00:00
Jens Arnold
1ba26b8a60 MMC driver: More flexible background copy & bitswap concept, using global variables - slightly less read latency when both partial and full blocks are involved. Some code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6393 a1c6a512-1295-4272-9138-f99709370657
2005-05-02 00:33:01 +00:00
Jens Arnold
74875ef37e Speed optimisations: (1) Read, write: Use single/multiple block commands depending on the block count. (2) Write: Combine first partial sector transfer (after caching) & main loop into one block-transfer sequence.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6381 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 20:47:55 +00:00
Jens Arnold
a7f7781dca MMC driver does now handle block sizes != 512 bytes, which is necessary to support cards > 1 GB. Changed error handling to use the same method as other parts of rockbox, allowing to trace the call chain. Long policy, code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6366 a1c6a512-1295-4272-9138-f99709370657
2005-04-28 01:11:21 +00:00
Jörg Hohensohn
3ea9aa4626 non-ambiguous error code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6192 a1c6a512-1295-4272-9138-f99709370657
2005-03-12 12:35:06 +00:00
Jörg Hohensohn
fe0e368d5c Don't panic on read attempts past end of card, just exit with error. Such can happen when mounting superfloppy MMC, without valid partition table.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6179 a1c6a512-1295-4272-9138-f99709370657
2005-03-10 05:43:44 +00:00
Jens Arnold
2aefbf7549 Correctly display USB activity on Ondios with old bridge. (Added blindly, please test.) Slight code cleanup, removed DOS line endings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6025 a1c6a512-1295-4272-9138-f99709370657
2005-02-20 00:21:20 +00:00
Jörg Hohensohn
7e1d36f35b Ondio: disk activity indication in USB mode, too
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6020 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 14:45:34 +00:00
Jörg Hohensohn
c76fbf7162 Ondio: disk indication in the status bar, to compensate for lacking LED
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6012 a1c6a512-1295-4272-9138-f99709370657
2005-02-19 00:34:15 +00:00
Jens Arnold
4d6e482e56 Some MMCs don't like reading their very last sector with the read_multiple_blocks command, so always read it with read_single_block. Slight optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5942 a1c6a512-1295-4272-9138-f99709370657
2005-02-14 23:42:32 +00:00
Jens Arnold
b3017c8701 Fixed calculation of MMC sector count. Display sector count instead of (rough) size info for debugging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5937 a1c6a512-1295-4272-9138-f99709370657
2005-02-12 23:09:00 +00:00
Linus Nielsen Feltzing
4d7671ce22 Aligned thread stack
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5803 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 02:34:17 +00:00
Jens Arnold
404fd12aae MMC driver now panics on out-of-bound accesses.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5768 a1c6a512-1295-4272-9138-f99709370657
2005-02-04 00:58:47 +00:00
Jens Arnold
f248d8bf62 MMC debug info: Tsac is now needed in ns, no longer scaled by 10.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5725 a1c6a512-1295-4272-9138-f99709370657
2005-01-31 01:50:40 +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
Jörg Hohensohn
81f2a4a6ca select the card within the mutex, seems more safe
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5530 a1c6a512-1295-4272-9138-f99709370657
2005-01-03 23:20:31 +00:00
Jörg Hohensohn
2ab64c9152 cosmetic: use the IF_MV2() macro for optional arguments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5521 a1c6a512-1295-4272-9138-f99709370657
2004-12-29 22:50:34 +00:00
Jörg Hohensohn
da84857631 prepared to mount multiple partitions into one logical file system (most useful for Ondio, internal memory + external MMC)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5514 a1c6a512-1295-4272-9138-f99709370657
2004-12-28 22:16:07 +00:00
Jens Arnold
605cf4c779 Fix: my previous adjustments broke access to external MMC on newer Ondio models (mask bit 2 == 1). Xor operator works bitwise, so both operators need to be logical values here
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5422 a1c6a512-1295-4272-9138-f99709370657
2004-11-17 21:24:21 +00:00
Jens Arnold
2cf1a89560 Ondio: adjustments for models with mask bit 2 == 0 (different MMC clock select circuitry)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5421 a1c6a512-1295-4272-9138-f99709370657
2004-11-17 20:14:43 +00:00
Jens Arnold
aeedd7d499 Increased MMC init timeout (again), and sleep() between consecutive tries.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5408 a1c6a512-1295-4272-9138-f99709370657
2004-11-14 13:50:03 +00:00
Jens Arnold
31e2e01cac Increased init timeout to account for some very slow (SD) cards
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5407 a1c6a512-1295-4272-9138-f99709370657
2004-11-14 07:35:48 +00:00
Jens Arnold
f540e5cecf Unique error codes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5390 a1c6a512-1295-4272-9138-f99709370657
2004-11-07 22:40:24 +00:00
Jens Arnold
5789ee9928 MMC hotswap handling in USB mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5247 a1c6a512-1295-4272-9138-f99709370657
2004-10-10 19:51: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
Jens Arnold
0660105af2 Fixed busy timeout handling; better comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5240 a1c6a512-1295-4272-9138-f99709370657
2004-10-09 22:48:10 +00:00
Jens Arnold
a450e34770 Major MMC driver rework: DMA for sector transfers (except for single sector writes), bitswap while DMA transfer is running, optimized SCI handling (back-to-back transfer for polled writes), yield()s once per sector transfer. Speed is now close to the theoretical maximum
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5231 a1c6a512-1295-4272-9138-f99709370657
2004-10-09 01:14:55 +00:00
Jens Arnold
6f9a7eb2c7 Enhanced MMC handling: Driver cleanup, timeout calculation fixed, allowed voltage check, maintain disk activity info (fixes immediate shutdown at end of playback). MMC debug menu item populated.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5193 a1c6a512-1295-4272-9138-f99709370657
2004-10-06 20:43:12 +00:00
Björn Stenberg
b60b29f442 Compile ata_mmc.c for targets with mmc, ata.c for all others.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5174 a1c6a512-1295-4272-9138-f99709370657
2004-10-05 08:11:11 +00:00
Jens Arnold
a15386bb9d (Re-)added the delayed write feature to avoid wearing the flash unnecessarily
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5162 a1c6a512-1295-4272-9138-f99709370657
2004-10-04 22:29:06 +00:00
Jens Arnold
36813086e6 MMC: 10 % faster reading and 15 % faster writing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5161 a1c6a512-1295-4272-9138-f99709370657
2004-10-04 17:53:53 +00:00
Jens Arnold
a2b5681ca5 Removed disabled code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5154 a1c6a512-1295-4272-9138-f99709370657
2004-10-03 23:35:14 +00:00
Jens Arnold
dc6caf9ce8 Implemented multiple block reading and writing. Significant speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5153 a1c6a512-1295-4272-9138-f99709370657
2004-10-03 23:32:09 +00:00
Jens Arnold
fc9aadaf8b Some cleanup, and a quick fix to make battery status reading and idle poweroff work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5149 a1c6a512-1295-4272-9138-f99709370657
2004-10-01 21:41:44 +00:00
Jens Arnold
212f18f9ea Fix: card initialization on card_select()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5142 a1c6a512-1295-4272-9138-f99709370657
2004-10-01 17:01:40 +00:00
Jörg Hohensohn
c4b326c215 Ondio PACR inits for cold start
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5141 a1c6a512-1295-4272-9138-f99709370657
2004-10-01 16:57:54 +00:00
Jens Arnold
7d8598f30e Writing to mmc does work now, but not always correct yet. It caused a corrupt file system once, so beware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5132 a1c6a512-1295-4272-9138-f99709370657
2004-09-29 22:44:02 +00:00
Jens Arnold
6cb799174b Small fix for the card init
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5128 a1c6a512-1295-4272-9138-f99709370657
2004-09-29 01:10:32 +00:00
Jens Arnold
de6f799ace MMC driver is now write enabled, and should no longer lock up. Still preliminary and rather slow, polling everywhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5127 a1c6a512-1295-4272-9138-f99709370657
2004-09-29 00:50:40 +00:00
Jens Arnold
90cbd3b06d First working MMC driver (very preliminary, and read-only), and some adaptions of the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5123 a1c6a512-1295-4272-9138-f99709370657
2004-09-28 06:23:57 +00:00
Jens Arnold
56cbda370d Chip selects for internal & external card were reversed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5098 a1c6a512-1295-4272-9138-f99709370657
2004-09-20 22:54:13 +00:00
Jörg Hohensohn
3f7c508a09 Ondio USB mode works with both internal and external MMC
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5073 a1c6a512-1295-4272-9138-f99709370657
2004-09-14 23:06:10 +00:00