Commit graph

228 commits

Author SHA1 Message Date
Michael Sevakis
d56999890f Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:42:32 +00:00
Michael Sevakis
4d04132c76 PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25970 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 14:05:36 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Rafaël Carré
f830fa79e5 s5l870x / ipod nano2g: include common mmu-arm.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25635 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 16:05:11 +00:00
Rafaël Carré
f6ae574ac6 s5l870x : use mmu-arm.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25634 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 15:59:49 +00:00
Rafaël Carré
680fcd827d Move CACHEALIGN_BITS to cpu headers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25633 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 15:50:08 +00:00
Rafaël Carré
88148f39f6 mmu-s5l8700.S: correct a comment about segment position in index format
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25624 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 14:05:59 +00:00
Rafaël Carré
a0d970b6a9 s5l8700 : remove some CRLF line endings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25623 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 14:05:55 +00:00
Rafaël Carré
b6065a8ceb Use STORAGE_WANTS_ALIGN to make clear it's not a strict necessity
Define PROC_NEEDS_CACHEALIGN only for PP

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25339 a1c6a512-1295-4272-9138-f99709370657
2010-03-26 00:11:50 +00:00
Rafaël Carré
a8d1690ffe Make storage alignement use cache alignement macros
Introduce STORAGE_ALIGN_DOWN, STORAGE_PAD (using new CACHE_PAD) and
STORAGE_OVERLAP (using new CACHE_OVERLAP), make them useful only when
PROC_NEEDS_CACHEALIGN and STORAGE_NEEDS_ALIGN are defined

Modify PP and nano2g system-target.h accordingly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25336 a1c6a512-1295-4272-9138-f99709370657
2010-03-25 23:01:56 +00:00
Michael Sparmann
f6ada7c30c ftl-nano2g.c: s/\(\*([^)]+)\)\./\1->/
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25186 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 22:22:47 +00:00
Michael Sparmann
9b416c0652 Nano2G NAND: Don't continue reading on that bank if starting the read failed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25182 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 20:55:43 +00:00
Michael Sparmann
af38e0960b Finally fast Nano2G NAND reading, also works on remapped blocks this time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25181 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 20:25:58 +00:00
Michael Sparmann
3e9222de38 Nano2G: switch over to slow writes at VFL level
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25176 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 17:26:06 +00:00
Michael Sparmann
1a38f380b8 Re-enable fast reads in the Nano2G VFL/FTL. (Using the wrapper API in the NAND driver)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25175 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:33:55 +00:00
Michael Sparmann
64b9586443 Implement Nano2G fast NAND read API as a wrapper around the slow one.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25174 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:32:29 +00:00
Michael Sparmann
b09f624cdf Nano2G FTL: Enlarge FTL buffers for faster write operations
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25173 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:13:15 +00:00
Michael Sparmann
c99d4fd709 Nano2G VFL/FTL: Use fast writes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25172 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:12:28 +00:00
Michael Sparmann
4d8bf06bf3 Nano2G NAND: Detect if the chip supports interleaved and/or cached writes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25171 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:10:53 +00:00
Michael Sparmann
7e4b53892e Revert Nano2G fast VFL reads for now. They just won't work on some hardware.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25170 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 16:06:54 +00:00
Michael Sparmann
5de615132d Don't parallelize Nano2G NAND reads, just do pipelined ECC. (10% performance loss :-/ )
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25168 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 15:41:40 +00:00
Michael Sparmann
183e9f1520 Nano2G VFL: reset the bank again before the second slow read try
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25167 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 15:26:59 +00:00
Michael Sparmann
884147c5e2 Nano 2G VFL: try slow read twice if fast read failed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25166 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 15:12:08 +00:00
Michael Sparmann
2e32502ce5 More detailed panic message for Nano2G VFL fast read problems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25163 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 12:43:27 +00:00
Michael Sparmann
9c2baa6b17 Make the Nano2G FTL use the new parallel read function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25157 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:55:42 +00:00
Michael Sparmann
afd7a86056 Add the new Nano2G NAND functions to nand-target.g
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25156 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:55:23 +00:00
Michael Sparmann
a99f8fae79 Nano2G NAND interleaved erase support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25155 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:45:23 +00:00
Michael Sparmann
382b6dca08 Nano2G NAND interleaved write support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25154 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:44:39 +00:00
Michael Sparmann
cb41b2f245 Nano2G NAND parallel read support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25153 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:41:14 +00:00
Michael Sparmann
af77b1842c Nano2G lowlevel NAND operation transaction splitting support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25152 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:38:18 +00:00
Michael Sparmann
0d6784fee2 Reset the Nano2G NAND idle timer also when leaving a NAND function, not just when entering them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25151 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:35:53 +00:00
Michael Sparmann
9859381c08 Nano2G FTL: Increase spare buffer size to 4, values below that lead to problems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25150 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 21:17:37 +00:00
Michael Sparmann
1fd3221198 Use the new read API and introduce fast highlevel FTL code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25149 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 20:31:18 +00:00
Michael Sparmann
a9e732c6df Fix a bug introduced in r25145
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25148 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 20:28:59 +00:00
Michael Sparmann
16587900da Implement fast VFL read API (as a dummy) for Nano2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25147 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 20:27:21 +00:00
Michael Sparmann
4a6d160f75 Re-commit another small Nano2G FTL bugfix that got lost
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25146 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 20:21:18 +00:00
Michael Sparmann
2cfd0f2e73 Implement Nano2G VFL multi-page read API (as a dummy for now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25145 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 20:20:07 +00:00
Michael Sparmann
1a7e090b41 Make Nano2G FTL buffer size configurable, no (intended) function changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25144 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 18:25:42 +00:00
Michael Sparmann
4a7b2cc9f3 Isolate and commit some innocent Nano2G FTL bugfixes that were introduced as part of the performance improvements
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25143 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 18:07:42 +00:00
Michael Sparmann
131bb698ad Revert r25099, r25101, r25109 and r25137 for now. This doesn't seem to be quite stable on some NAND types yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25139 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 00:43:34 +00:00
Michael Sparmann
9f8e76bf22 Hopefully fix the latest Nano2G NAND issues. (FS#11092) Transfers for some of the chips apple is using will be slow until someone implements cached writes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25137 a1c6a512-1295-4272-9138-f99709370657
2010-03-12 20:44:03 +00:00
Michael Sparmann
e39b653947 Fix Nano2G rolo once again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25117 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 18:08:28 +00:00
Michael Sparmann
72f0d265bc Fix scrolling direction in the Nano2G __dbg_hw_info screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25115 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 15:18:43 +00:00
Michael Sparmann
462bdfe612 Implement (unused) ADC wrapper for Nano2G to fix the red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25114 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 14:02:59 +00:00
Michael Sparmann
52b4a1ef38 Remove a bunch of superfluous stuff from the Nano2G bootloader and fix __dbg_hw_info for Nano2G yet again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25113 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 13:51:24 +00:00
Michael Sparmann
db569e6bbc Fix bootloader red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25112 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 03:22:43 +00:00
Michael Sparmann
20980e6e72 Nano2G __dbg_hw_info (courtesy of Franz-Josef Haider)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25111 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 03:07:51 +00:00
Michael Sparmann
14b1f00244 Increase Nano2G main stack size to 16K again. We won't get rid of the stkov's at 8K easily.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25110 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 02:58:39 +00:00
Michael Sparmann
62c011c8fb Even more Nano2G FTL speedup. Now 8% faster than disk mode, 10% slower than the OFW. 4.5MB/s sustained (contiguous) write, 6.0MB/s read for me now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25109 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 00:59:17 +00:00
Michael Sparmann
6945aa9914 Fix bootloader red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25101 a1c6a512-1295-4272-9138-f99709370657
2010-03-10 03:11:39 +00:00