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