1
0
Fork 0
forked from len0rd/rockbox
Commit graph

3139 commits

Author SHA1 Message Date
Andree Buschmann
298bbe8d3c FS#11807 - Major speedup of iPod nano 2G. Part 5: Introduce asm for RGB screen updates, set LCD_PHTIME to Apple's default for LDS176 type LCD's.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28824 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 19:58:04 +00:00
Thomas Martitz
36da28bbc7 Android: Protect lcd updates with a mutex.
The scrolling engine could lock out the main thread which may be waiting for its update to finish (wakeups are not reentrant).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28821 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 02:01:47 +00:00
Frank Gevaerts
866a822ac6 Only return USB_POWERED if USB_DETECT_BY_DRV is actually defined, which might not be the case for e.g. bootloaders (also fix red)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28820 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 20:20:12 +00:00
Frank Gevaerts
ecd80d888e Move AMSv1 USB to the USB_DETECT_BY_DRV model, so connecting to a dumb charger works without interrupting playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28819 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 20:03:42 +00:00
Bertrik Sikken
2a0a9a5f2a AMSv2: handle sd card ACMDs similar to how it's done for AMSv1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28814 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:30:58 +00:00
Andree Buschmann
395d72f71a FS#11807 - Major speedup of iPod nano 2G. Part 4: Introduce asm for yuv blitting. Overall speedup of part1-4 is +50% for RGB and +93% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28813 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:23:20 +00:00
Andree Buschmann
eadff40863 FS#11807 - Major speedup of iPod nano 2G. Part 3: Unify different write commands. No change in speed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28812 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:16:55 +00:00
Andree Buschmann
335df1d040 FS#11807 - Major speedup of iPod nano 2G. Part 2: Use 16 bit data width and simplify write commands. Gives another +27% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28811 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:10:45 +00:00
Andree Buschmann
d192bdf11e FS#11708 - Major speedup of iPod nano 2G. Part 1: Loop unrolling and reduction of FIFO register polling. +50% for RGB, +34% for YUV.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28809 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:01:36 +00:00
Bertrik Sikken
9da76f3031 AMSv2: only switch sd cards to high speed mode for for v2 sd cards, just like is done for AMSv1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28808 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 14:04:07 +00:00
Michael Sparmann
7b3c7db486 iPod Nano 2G: Correct clickwheel interrupt handler name, this time consistently.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28807 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 12:40:37 +00:00
Andree Buschmann
951a519dc4 Fix bug introduced with r28800 (missing interrupt handler).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28806 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 11:41:50 +00:00
Michael Sparmann
40d640eb47 Fix yellow, already assign values for various S5L8702 defines
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28801 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 00:59:59 +00:00
Michael Sparmann
70447b529c usb-s3c6400x.[ch], button-clickwheel.c: Move s5l8701-specific parts to where they belong, prepare for s5l8702
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28800 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 00:52:02 +00:00
Marcin Bukat
8e1021bd4c HD300 - further speedup of lcd_update() by utilizing DMA transfer when unboosted. The gain is 438 -> 728 fps @ 45MHz.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28799 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 23:55:14 +00:00
Marcin Bukat
3eee12ed23 HD300 - tweak lcd_update() (4-5% speedup)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28797 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 22:36:28 +00:00
Andree Buschmann
6e369d717d Fix typo in comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28795 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 17:52:52 +00:00
Andree Buschmann
2f9c4dfa39 iPod nano 2G: Call lcd_update_rect() in lcd_update() instead of using an own implementation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28794 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 10:38:41 +00:00
Andree Buschmann
43e8fbbb4a Set DRAM configuration for iPod nano 2G in crt0.s
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28793 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 09:42:42 +00:00
Andree Buschmann
41c9d43efc Detail comment in timer configuration of S5L870x.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28792 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 09:41:24 +00:00
Andree Buschmann
e4a233ed9b Derive clock and timer defines from frequency of external source.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28791 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 09:39:33 +00:00
Thomas Martitz
c47d813451 Android: Replace the java based tick timer implemented with a not as bloated and more accurate linux hrtimer based one. Further reduces idle cpu usage (0% on my phone but still 1-2% on a Samsung Galaxy S).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28784 a1c6a512-1295-4272-9138-f99709370657
2010-12-10 15:14:18 +00:00
Marcin Bukat
18accc018b HD300 - do not handle scrollstrip events when hold is on
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28782 a1c6a512-1295-4272-9138-f99709370657
2010-12-10 15:12:16 +00:00
Marcin Bukat
0358e7b864 MPIO HD200, HD300: Make USB bridge handling more correct (this doesn't solve problems with USB inside rockbox on HD300 unfortunately).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28780 a1c6a512-1295-4272-9138-f99709370657
2010-12-09 11:31:08 +00:00
Marcin Bukat
5a4b7c3920 MPIO HD300 simulator. FS#11796 by Michael Leslie
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28775 a1c6a512-1295-4272-9138-f99709370657
2010-12-08 21:40:35 +00:00
Thomas Martitz
2c2416094f Get rid of get_user_file_path and do the path handling in wrappers for open() and friends.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28752 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:26:31 +00:00
Szymon Dziok
32a0ce375f HDD6330: implement lcd_yuv_blit() function. The inner loop is written in assembler and the entire function is about 20% faster than the original from the ipod color.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28737 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 19:45:50 +00:00
Thomas Martitz
465e75a2ba Android: Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28734 a1c6a512-1295-4272-9138-f99709370657
2010-12-04 18:27:24 +00:00
Thomas Martitz
55b58a3f30 Android: Make lcd updates synchronous, doesn't make it faster but smoother (no updates are skipped) and guaranteed to be glitch free.
test_fps can also now report reasonable numbers: ~62 fps for both 1/1 and 1/4 updates (was 300-400 previously).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28728 a1c6a512-1295-4272-9138-f99709370657
2010-12-02 23:50:50 +00:00
Thomas Martitz
921ac8d6dd Change the gcc options for sdl builds to allow for gnu99 features, it needs some fixes in other places. Fixes test_mem compilation failure on cygwin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28723 a1c6a512-1295-4272-9138-f99709370657
2010-12-02 21:20:30 +00:00
Szymon Dziok
589d2110dc HDD6330: implement block transfers through the LCD2 bridge in lcd_update_rect(), speedup is huge, fps over 4 times faster.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28722 a1c6a512-1295-4272-9138-f99709370657
2010-12-02 20:35:25 +00:00
Andree Buschmann
1b093cf297 Remove tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28719 a1c6a512-1295-4272-9138-f99709370657
2010-12-01 18:35:01 +00:00
Marcin Bukat
a63cf502bc Add HD300 button defines for system_exception_wait()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28715 a1c6a512-1295-4272-9138-f99709370657
2010-12-01 09:36:53 +00:00
Marcin Bukat
db1e051bf0 HD300 - decrease touchstrip sensitivity
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28707 a1c6a512-1295-4272-9138-f99709370657
2010-11-29 13:28:28 +00:00
Marcin Bukat
aa2abed587 MPIO - drop wait states for LCD access
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28706 a1c6a512-1295-4272-9138-f99709370657
2010-11-29 13:28:22 +00:00
Marcin Bukat
4cbab5508f HD300 - add missing i2c initializtion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28685 a1c6a512-1295-4272-9138-f99709370657
2010-11-27 14:23:10 +00:00
Marcin Bukat
9a24892e2e MPIO HD300 - initial commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28680 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 23:28:08 +00:00
Andree Buschmann
eef21cb18a Change alignment macros to allow further performance optimization. Define the CACHEALIGN macros for all ARM CPUs, the used alignment size is derived from CACHEALIGN_BITS which has been defined for each supported ARM CPU with r28619. The default alignment size for ARM is set to 32 bytes as new -- not yet supported -- ARM CPUs will most probably need this alignment. To be able to differ between ARM and other CPUs a new macro called MEM_ALIGN_ATTR is introduced. This equals CACHEALIGN_ATTR for ARM, 16 byte alignment for Coldfire and is kept empty for other CPUs. MEM_ALIGN_ATTR is available system wide. From measurements it is expected that the usage of MEM_ALIGN_ATTR can give significant performance gain on ARM11 CPUs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28625 a1c6a512-1295-4272-9138-f99709370657
2010-11-21 12:27:01 +00:00
Fred Bauer
9b2e9472ea FS#11608: switch cpu to async operation in boosted mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28616 a1c6a512-1295-4272-9138-f99709370657
2010-11-18 16:37:56 +00:00
Andree Buschmann
e464656b88 Implement udelay() for S5L870x. Exchange sleep() with udelay() during CPU voltage scaling. Voltage scaling was measured stable with 50us delay, to have some headroom we use 100us.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28606 a1c6a512-1295-4272-9138-f99709370657
2010-11-15 21:13:58 +00:00
Michael Sparmann
6574040b18 iPod Nano 2G LCD sleep: Powering down LDO2 also affects USB, so we can't do that to shut off the LCD. Leave it on for now, and use the lightweight approach for waking up the Leadis LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28601 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 20:39:18 +00:00
Andree Buschmann
ba64cf697e Move pcm doublebuffer to IRAM on nano 2G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28600 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 19:49:20 +00:00
Michael Sparmann
cdbaa09fb7 iPod Nano 2G LCD sleep: Send LCD_EVENT_ACTIVATION event
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28593 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 15:46:17 +00:00
Michael Sparmann
a5ad3f8a72 iPod Nano 2G: Implement LCD sleep (FS#11604 by Franz-Josef Haider), adds up to 5 hours of battery life
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28591 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 15:29:05 +00:00
Michael Sparmann
bbebaa406f iPod Nano 2G: Dynamic Vcore scaling, based on current CPU clock. Adds 1-2 hours of battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28590 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 15:20:06 +00:00
Michael Sparmann
81381a36b4 iPod Nano 2G: Set I2C clock to 374400 Hz, now that we know what it is derived from.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28589 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 15:19:30 +00:00
Michael Sparmann
b18d220e48 iPod Nano 2G: Use sane (150 microseconds) PLL locking delays and properly set a third CLKCON register I just discovered
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28588 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 15:18:05 +00:00
Michael Sparmann
b491421c5a iPod Nano 2G: Fix I2S clocking. All sampling rates should work now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28581 a1c6a512-1295-4272-9138-f99709370657
2010-11-14 04:46:38 +00:00
Michael Sparmann
23fd886c4f iPod Nano 2G: Finally FIQ-less and glitch-free PCM. This should allow for IRQ latencies high enough to allow re-locking PLLs and changing and stabilizing Vcore when switching CPU frequency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28580 a1c6a512-1295-4272-9138-f99709370657
2010-11-13 21:08:15 +00:00
Michael Sparmann
a961798c2c iPod Nano 2G: Post-mortem memory dumper stub (FS#11701)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28573 a1c6a512-1295-4272-9138-f99709370657
2010-11-13 12:05:53 +00:00