Commit graph

2538 commits

Author SHA1 Message Date
Thomas Martitz
70bb128ae9 Cleanup preprocessor around corelock usage and move its definition outside #ifdef ASSEMBLER_THREADS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29330 a1c6a512-1295-4272-9138-f99709370657
2011-02-19 00:09:08 +00:00
Thomas Martitz
1e391fbdbc Fix yellows and checkwps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29328 a1c6a512-1295-4272-9138-f99709370657
2011-02-18 23:17:07 +00:00
Thomas Martitz
6d85de3419 Implement cooperative threads on hosted platforms using C code.
This replaces SDL threads with real cooperative threads, which are less cpu intensive and allow priority scheduling.
The backend for context switching is dependant on the host (sigaltstack/longjmp on Unix, Fibers on Windows).
configure has options to force or disallow SDL threads.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29327 a1c6a512-1295-4272-9138-f99709370657
2011-02-18 22:46:01 +00:00
Michael Sevakis
edfff8a5ef audio_peek_track should copy the struct mp3entry instead of pointing directly into the buffer. Despite the dire warning, caller does in fact yield/sleep and its usage is too nonlocalized to control that reliably.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29275 a1c6a512-1295-4272-9138-f99709370657
2011-02-10 10:26:07 +00:00
Michael Sparmann
44870b7415 iPod Classic: Enable boosting by switching the CPU between 1x and 2x AHB clock
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29265 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 21:45:57 +00:00
Michael Sevakis
0d902c8c54 Buffering should align itself and not rely on buffering_reset parameters when storage alignment matters so that wrapped reads maintain alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29258 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 09:30:09 +00:00
Marianne Arnold
0efaee4c2d Correct typo in the Philipps SA9200 config file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29254 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 21:42:19 +00:00
Thomas Jarosch
5f037ac015 Initial maemo platform support
Adds Nokia N900, N810 and N800 support.

Features:
- Introduce maemo specific platform defines
- Play audio in silent mode
- Stop playback on incoming calls
- Battery level readout
- Bluetooth headset support
- Save CPU by disabling screen updates if the display
  is off or the app doesn't have input focus
- N900: GStreamer audio backend

Kudos to kugel for the code review.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29248 a1c6a512-1295-4272-9138-f99709370657
2011-02-08 20:05:25 +00:00
Karl Kurbjun
8e8f700842 Add ARMv4 16-bit(set, mod, clr) operations used on DM320.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29221 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:43:45 +00:00
Karl Kurbjun
50c547c640 M:Robe 500 and TSC2100: Add more to the initialization. Some GPIO initializations are now removed - this will be hanled by the OF or bootloader (when loading from flash).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29220 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:33:40 +00:00
Karl Kurbjun
2db1fa7e0c M:Robe 500: Update current numbers and add a comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29216 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:15:54 +00:00
Karl Kurbjun
47c995be0a DM320: Add CPU revisions as defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29215 a1c6a512-1295-4272-9138-f99709370657
2011-02-06 19:14:09 +00:00
Andree Buschmann
5d849a963e Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29189 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 17:43:32 +00:00
Michael Sevakis
18770dac2e Use __builtin_constant_p() to select the best byteswapping method: constant or target optimized. Same macro can then be used for constant values and inits as well as non-constant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29171 a1c6a512-1295-4272-9138-f99709370657
2011-01-30 00:58:45 +00:00
Michael Sevakis
3f709eada2 Convert AMS target USB detection to event-based (no more polling in a tick). Seems well on my Clip v1 and Fuze v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29156 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 00:44:59 +00:00
Michael Sevakis
5f52f6ee01 Fuze V2: Fix hold switch behavior. Add a GPIOx_PIN_MASK macro to AS3525.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29096 a1c6a512-1295-4272-9138-f99709370657
2011-01-20 14:26:58 +00:00
Nils Wallménius
3b8f93af0a Enable AB repeat for the Gigabeat S, this will break lang string/voice clip order for this target so update your voice file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29092 a1c6a512-1295-4272-9138-f99709370657
2011-01-19 14:34:31 +00:00
Michael Sevakis
453550a687 Try to get some control over #ifdef hell in usb.c by refactoring and inline function use. SYS_USB_DISCONNECTED_ACK hasn't been doing anything useful for the USB thread; remove it. USB thread simply ignores that value. Observe only valid usb_state transitions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29084 a1c6a512-1295-4272-9138-f99709370657
2011-01-18 14:10:06 +00:00
Michael Sevakis
05f6f3419a Add a higher level USB detection that prevents fraudulent bus resets from causing USB mode to be entered. Enable for SA9200 only at this time. Also, for SA9200, use the bus power GPIO rather than the 'connector inserted' GPIO to detect the cable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29068 a1c6a512-1295-4272-9138-f99709370657
2011-01-17 12:24:41 +00:00
Michael Sevakis
bcc0f88372 Convert PortalPlayer iRivers to use USB-mode enabled bootloader. The H10 5/6GB already has a pre-boot USB mode (so it's a little redundant there) but building them the same way is simpler.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29067 a1c6a512-1295-4272-9138-f99709370657
2011-01-17 06:50:27 +00:00
Michael Sevakis
76083359e0 e200v1 seems to be ok using USB-enabled bootloader. Also, include the bootloader USB .lds into the boot.lds instead of pasting into every one to keep things sane for now-- commented upon inside.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29062 a1c6a512-1295-4272-9138-f99709370657
2011-01-16 01:40:15 +00:00
Michael Sevakis
3a1127785b Bootloader USB mode for PP502x. Enable only on GoGear SA9200 for the time being. Add HAVE_BOOTLOADER_USB_MODE to config if BOOTLOADER is defined to enable it. Clean up some kernel stuff a little to support it. Mess up a bunch of other stuff (hopefully not too badly).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29053 a1c6a512-1295-4272-9138-f99709370657
2011-01-15 08:19:30 +00:00
Andree Buschmann
13435127b7 Fix FS#11820. Implement LCD shutdown for iPod Photo/Color and iPod nano 1G. The code was taken from FS#10034 and slightly changed to avoid white flashing when shutting off the display.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29033 a1c6a512-1295-4272-9138-f99709370657
2011-01-12 07:36:02 +00:00
Michael Sevakis
267ac4b79b SA9200: Adjust touchpad sensitivities so that actual contact with the player is needed to cause button presses and hopefully those settings will work nicely. Add a parameter read function to the MEP driver for debugging and RE purposes; enable compilation of it if you want to use it. Make a note in power-sa9200.c about button inits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29032 a1c6a512-1295-4272-9138-f99709370657
2011-01-11 23:48:29 +00:00
Marcin Bukat
91d8fe0848 HD300 - adjust default battery capacity (based on battery benches)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29021 a1c6a512-1295-4272-9138-f99709370657
2011-01-10 14:19:05 +00:00
Michael Sevakis
1b275d8ddb Some static data is only used by .init functions. Add .initdata to declare such data (otherwise section conflicts arise). For i.MX31, use INITDATA_ATTR in the appropriate places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29008 a1c6a512-1295-4272-9138-f99709370657
2011-01-08 20:42:51 +00:00
Michael Sparmann
44f924f8b4 Adjust iPod Classic CPU clock speed constants to at least roughly correct values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29005 a1c6a512-1295-4272-9138-f99709370657
2011-01-08 01:05:27 +00:00
Michael Sparmann
9b5c95f557 Fix CS42L55 (iPod Classic) tone control
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29002 a1c6a512-1295-4272-9138-f99709370657
2011-01-07 23:09:09 +00:00
Michael Sparmann
d5758731bf Fix iPod Classic USEC_TIMER
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28987 a1c6a512-1295-4272-9138-f99709370657
2011-01-07 12:09:54 +00:00
Michael Sevakis
89a7a8138e Gigabeat S: Make it a removable mass-storage device. Windows will assign a drive to only the main data partition by default. To access the bootloader partition instead, press 'Vol -' while it connects (in bootloader and firmware). Hopefully doesn't break anything for anyone.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28972 a1c6a512-1295-4272-9138-f99709370657
2011-01-05 19:35:51 +00:00
Michael Sparmann
152847977a New port: iPod Classic (also known as iPod 6G/6.5G/7G)
Major known issues:
- No bootloader yet
- No support for the first-generation 160GB CE-ATA hard disk drive yet
- Audio playback is slow, only FLAC seems to reach realtime


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28953 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:16:27 +00:00
Michael Sparmann
6f40387e74 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28952 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:09:01 +00:00
Michael Sparmann
1a1fc09863 Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28951 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 23:02:55 +00:00
Michael Sparmann
7fea136903 Autodetect sector size on superfloppy volumes based on the FAT32 BPB (kudos to Frank Gevaerts)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28946 a1c6a512-1295-4272-9138-f99709370657
2011-01-02 22:28:22 +00:00
Andree Buschmann
9290ab8ab1 Submit FS#11707. Add line out power off to iPods nano1G, color and 4G.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28932 a1c6a512-1295-4272-9138-f99709370657
2010-12-29 23:38:07 +00:00
Michael Sevakis
a24b140c0b Just a technical matter even though all is well anyway: struct blocker::thread should be volatile for > 1 core and the change should make no difference to anything for 1 core.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28923 a1c6a512-1295-4272-9138-f99709370657
2010-12-29 13:53:30 +00:00
Michael Sevakis
7b4eb44395 Certain data accesses in the kernel should have volatile semantics to be correct and not rely on the whims of the compiler. Change queue clearing to simply catch read up to write rather than reset both to 0 to ensure sane results for queue_count and queue_empty with concurrency. Binsize may or may not increase a bit depending upon whether the output was as intended in all places; wrong stuff was already unlikely to cause any issue.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28909 a1c6a512-1295-4272-9138-f99709370657
2010-12-27 10:05:09 +00:00
Michael Sevakis
f387cdef21 Make mutexes a tiny bit leaner. There is no need for a separate locked semaphore since having an owning thread also indicates that it is locked. Rename member 'count' to 'recursion' since it counts reentry, not locks. Change presents no compatibility issues for plugins or codecs because the structure size goes down.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28901 a1c6a512-1295-4272-9138-f99709370657
2010-12-26 05:59:39 +00:00
Thomas Martitz
a341646f2d Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28878 a1c6a512-1295-4272-9138-f99709370657
2010-12-22 16:05:22 +00:00
Szymon Dziok
90e8dc8f6b HDD6330: implement lcd_set_flip() function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28839 a1c6a512-1295-4272-9138-f99709370657
2010-12-15 22:06:51 +00:00
Szymon Dziok
bf34449638 HDD6330: implement initialization and inversion of lcd.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28826 a1c6a512-1295-4272-9138-f99709370657
2010-12-13 21:13:04 +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
Andree Buschmann
3c0f5181cc iPod nano 2G does use less current since the latest optimizations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28815 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 15:46:27 +00:00
Michael Sparmann
cb8b6ad369 Really fix yellow this time, SVN only committed half of what I wanted...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28802 a1c6a512-1295-4272-9138-f99709370657
2010-12-12 01:03:14 +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
Andree Buschmann
08bcbd08d2 S5L870x LCD interface registers are 32 bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28798 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 22:56:12 +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
7a9fd0baae Fix configure and lib path
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28753 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 22:28:14 +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
Marcin Bukat
1f64b7fb1f HD300: enable RTC alarm function (working partially for now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28741 a1c6a512-1295-4272-9138-f99709370657
2010-12-06 10:24:54 +00:00