Commit graph

45 commits

Author SHA1 Message Date
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
Jörg Hohensohn
eb8fef7cce Ondio USB mode works, but only with external MMC
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5072 a1c6a512-1295-4272-9138-f99709370657
2004-09-14 22:27:52 +00:00
Jörg Hohensohn
c4e8bed5a7 some fixes for Ondio USB passthrough (but still doesn't work yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5067 a1c6a512-1295-4272-9138-f99709370657
2004-09-11 15:18:10 +00:00
Jörg Hohensohn
00be7469d6 prepared Ondio USB passthrough (but doesn't work yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5066 a1c6a512-1295-4272-9138-f99709370657
2004-09-11 09:06:58 +00:00
Jörg Hohensohn
57ea92cae1 prepared an empty MMC driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5065 a1c6a512-1295-4272-9138-f99709370657
2004-09-11 03:48:05 +00:00