Commit graph

32548 commits

Author SHA1 Message Date
Michael Sevakis
528715a672 Fix warnings from 6ed0087
Forgot to (void) an unused parameter when priorityless.

usb-drv-rl27xx.c was using a compound init to initialize a semaphore
but the structure changed so that it is no longer correct. Use
designated initializers to avoid having to complete all fields.

Forgot to break compatibility on all plugins and codecs since the
kernel objects are now different. Take care of that too and do the
sort thing.

Change-Id: Ie2ab8da152d40be0c69dc573ced8d697d94b0674
2014-08-16 06:00:36 -04:00
Michael Sevakis
6ed00870ab Base scheduler queues off linked lists and do cleanup/consolidation
Abstracts threading from itself a bit, changes the way its queues are
handled and does type hiding for that as well.

Do alot here due to already required major brain surgery.

Threads may now be on a run queue and a wait queue simultaneously so
that the expired timer only has to wake the thread but not remove it
from the wait queue which simplifies the implicit wake handling.

List formats change for wait queues-- doubly-linked, not circular.
Timeout queue is now singly-linked. The run queue is still circular
as before.

Adds a better thread slot allocator that may keep the slot marked as
used regardless of the thread state. Assists in dumping special tasks
that switch_thread was tasked to perform (blocking tasks).

Deletes alot of code yet surprisingly, gets larger than expected.
Well, I'm not not minding that for the time being-- omlettes and break
a few eggs and all that.

Change-Id: I0834d7bb16b2aecb2f63b58886eeda6ae4f29d59
2014-08-16 05:15:37 -04:00
Michael Sevakis
eb63d8b4a2 Add common linked list functions
Forms implemented to a greater or lesser degree at the moment:
ll_*   = singly-linked list
lld_*  = doubly-linked list
lldc_* = doubly-linked circular list

Change-Id: Ieed5af50fc59165c8b14c3513b3b5d0e6f7de9fa
2014-08-16 00:27:01 -04:00
Amaury Pouly
278e8664a7 hwpatcher: fix horrible typo in the makefile
Change-Id: I6e8d8ae3a5f6e1111a6b7d910a1a6b94e2733ca6
2014-08-13 12:44:26 +02:00
Franklin Wei
df99ef2c7b Added highscore highlight to xobox game
Change-Id: Idf6848fc80a56398889d5deeb16bf3707fcd3e30
Reviewed-on: http://gerrit.rockbox.org/893
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
2014-08-12 18:25:56 +02:00
Franklin Wei
b61553c2b1 Added 2048 game
Change-Id: I4012dca4f93ca0db386a454635534f648ba906e9
Reviewed-on: http://gerrit.rockbox.org/888
Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
Tested: Michael Giacomelli <giac2000@hotmail.com>
2014-08-12 00:01:24 +02:00
Michael Sevakis
9a3400a4a6 Fix some more straggling stuff
* HWCODEC bootloaders

* Remove references to thread structures outside the kernel. They are
private and should not be used elsewhere. The mrobe-100 is an offender
that gets squashed.

* The ata.c hack stuff for large sector disks on iPod Video gets squashed
for the same reason. I will no longer maintain it, period; please find
the real reason for its difficulties.

Change-Id: Iae1a675beac887754eb3cc59b560c941077523f5
2014-08-08 03:23:29 -04:00
Michael Sevakis
4ea4cdfc11 Bootloaders need the reacharound to get at the internal goods
They need to include kernel-internal.h in order to perform inits.

Change-Id: I5b0f155e4ff49a065c6cb97691ecd4396a199979
2014-08-08 02:28:11 -04:00
Michael Sevakis
981d028c09 Do some kernel cleanup
* Seal away private thread and kernel definitions and declarations
into the internal headers in order to better hide internal structure.

* Add a thread-common.c file that keeps shared functions together.
List functions aren't messed with since that's about to be changed to
different ones.

* It is necessary to modify some ARM/PP stuff since GCC was complaining
about constant pool distance and I would rather not force dump it. Just
bl the cache calls in the startup and exit code and let it use veneers
if it must.

* Clean up redundant #includes in relevant areas and reorganize them.

* Expunge useless and dangerous stuff like remove_thread().

Change-Id: I6e22932fad61a9fac30fd1363c071074ee7ab382
2014-08-08 01:59:59 -04:00
Marcin Bukat
53d9f2e6a7 rkwtool: The tool to inspect and extract update RKW files
Change-Id: Ie32d0a597b93d23a7d5946a3d9409572b41b45bc
2014-08-07 19:09:35 +02:00
Michael Sevakis
81ffd9bfee Fix some stuff for no priority and
thread_queue_wake() doesn't need the 2nd parameter. The original purpose
for it never came to be.

Non priority version mrsw_writer_wakeup_readers was left improperly
finished. Get that back into line.

Change-Id: Ic613a2479f3cc14dc7c761517670eb15178da9f5
2014-08-06 02:27:49 -04:00
Michael Sevakis
e7e302f255 One more shot; errno.h needs to be in the ARM one too :)
Change-Id: Icf5e5fb269c975eaaefc6e756f46d4530b982b1f
2014-08-05 22:20:28 -04:00
Michael Sevakis
0615cb8042 Hosted builds using thread.c have errno as thread context.
Never came up testing but I don't have those SDKs installed. Taking a
jab at it.

Change-Id: I4d0de1c666e0895d41b3de41dd9024626bd37601
2014-08-05 22:05:20 -04:00
Michael Sevakis
29f5385263 Fix up some more red
find_first_set_bit() becomes a small inline on ARMv5+ and checkwps now gets
made with -std=gnu99 (it eats all the GCCOPTS) like the rest of things.

Change-Id: Ie6039b17fec057a3dcb0f453d8fd5efac984df89
2014-08-05 21:32:13 -04:00
Michael Sevakis
bb7700928a Oops. Somehow lost the track of the new files last push.
Change-Id: If3fad318bc2d620fa940de3f9595ff61024939df
2014-08-05 21:00:10 -04:00
Michael Sevakis
533d396761 Add multi-reader, single-writer locks to kernel.
Any number of readers may be in the critical section at a time and writers
are mutually exclusive to all other threads. They are a better choice when
data is rarely modified but often read and multiple threads can safely
access it for reading.

Priority inheritance is fully implemented along with other changes to the
kernel to fully support it on multiowner objects.

This also cleans up priority code in the kernel and updates some associated
structures in existing objects to the cleaner form.

Currently doesn't add the mrsw_lock.[ch] files since they're not yet
needed by anything but the supporting improvements are still useful.

This includes a typed bitarray API (bitarray.h) which is pretty basic
for now.

Change-Id: Idbe43dcd9170358e06d48d00f1c69728ff45b0e3
Reviewed-on: http://gerrit.rockbox.org/801
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-08-06 02:47:47 +02:00
Kyryljan_Serhij
6536f1db3e Russian language update
Change-Id: I78af1702c1f60c2fc66ebeb738aed187f13906f3
Reviewed-on: http://gerrit.rockbox.org/903
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-08-05 19:09:36 +02:00
Frank Gevaerts
78f4f7b621 Make crosstool-ng build with gnu make 4.0
Change-Id: Id3a5a310e6fa53e690c92f420994875cb1bfff43
2014-07-30 14:29:27 +02:00
Szymon Dziok
86fa139eac Support for remote on Samsung YH920/YH925.
Remote buttons are bound to the standard buttons in button-target.h, but they can
have a separate buttonmap, if someone wants.

Change-Id: Id8c78a3dfec0005bf588dc16416870b4c7c56836
2014-07-28 22:11:33 +02:00
Szymon Dziok
228c47be4c Samsung YH-925: Don't add anything to adc value while reading it.
OF doesn't do such thing. Values in mV are converted proportionally, so no change
 to the battery meter.

Change-Id: Ic545b0514535e7f17f0379ed02f6bdf515f69ac6
2014-07-28 22:11:33 +02:00
Szymon Dziok
f74edac8c7 Samsung YH-920: Proper values for battery monitoring, based on the OF formula.
Change-Id: I894eb6bad600bd059fe9a5ea1103737a736d4005
2014-07-28 22:11:33 +02:00
Peter Lecký
eaaff2680b Slovak language update
Change-Id: I3150dd77b3f5ce85d324ce3e9b6931c659dbde58
Signed-off-by: Bertrik Sikken <bertrik@sikken.nl>
2014-07-27 18:30:26 +02:00
Sebastian Leonhardt
7e778c5f49 Samsung YH-820: enable battery monitoring
The "percent_to_volt_charge" values are quite arbitrary
and may need some more tweaking.

Change-Id: I9f177d46681030d615fe2c2e78cf9bd2dde026af
Reviewed-on: http://gerrit.rockbox.org/824
Reviewed-by: Szymon Dziok <b0hoon@o2.pl>
Tested: Szymon Dziok <b0hoon@o2.pl>
2014-07-27 12:09:36 +02:00
Szymon Dziok
6bbfb35560 SA9200: Implement clicker.
It's not integrated with key click option for now.

Change-Id: Ib0769b02bfebe7c55eca7b7ea61df5d6dd83cdd3
2014-07-26 15:38:49 +00:00
Szymon Dziok
3f2c525c57 Reduce definitions of actions for fm radio.
Change-Id: I89188ecc820058b79b5c8fcf3e9b5ed49ae8aff4
2014-07-26 15:36:12 +00:00
Szymon Dziok
e3476f06d0 MPIO HD200: Fix action for fm radio.
Change-Id: I65a8e6f39d47f5d091e9676102b0ec08eb08690c
2014-07-26 15:36:12 +00:00
Szymon Dziok
facf708048 HDD1630/HDD6330: Add actions for fm radio.
Change-Id: I6acc21663fd0bc27509f8c37c71defb817ec7108
2014-07-26 15:36:12 +00:00
Szymon Dziok
fb373e1f50 Ak4537: Optimization of the code.
Change-Id: I98e25d7177b24b277a79d8bf8d494dac26553c2c
2014-07-26 15:36:12 +00:00
Szymon Dziok
f734eedc1f Disable detection of fm radio for the YH920, it's pointless.
Change-Id: Ibabda73046dc523c2bd0b1dfd0644f8882fbb74c
2014-07-26 15:36:12 +00:00
Marcin Bukat
345841aa56 rk27load: stage1 dram config fix #2
Change-Id: I5c4cf3dedab26e4cae05496bcae3a2d235d12e2f
2014-07-23 22:11:10 +02:00
Marcin Bukat
dcd8172f4f rk27load: fix stage1 dram config bug
Change-Id: I03d44dbd05fcd5dfc0e508020fae7006d8a97505
2014-07-23 12:32:16 +02:00
Chiwen Chang
9fb65294fb add supports for x,y value in percentage to several tags.
including
BAR_PARAMS, %xl, %dr, %T,%St, %xl and %Cl

Change-Id: I0811ebfff5f83085481dcbf08f97b7223f677bfe
Reviewed-on: http://gerrit.rockbox.org/900
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
2014-07-21 04:54:53 +02:00
Szymon Dziok
78478076a3 SVG image of the Creative Zen Mozaic and other formats for the manual.
Change-Id: I594afa62b5c5a3cef1dcf4d4249a13688e425267
Reviewed-on: http://gerrit.rockbox.org/895
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-07-17 18:03:54 +02:00
Amaury Pouly
e08331eef4 zen/zenxfi/zenxfistyle/zenmozaic: implement plugin keymaps and enable plugins
Plugins on the ZEN/ZEN X-Fi require to increase the plugin buffer size.

Change-Id: If4651c87b402060faa24530985c6e871379c8ea1
2014-07-17 10:40:17 +02:00
Amaury Pouly
2387d92c9c keymaps: cleanup
- remove useles define in pegbox
- improve keymap of nwz in mpegplayer
- fix whitespace alignement

Change-Id: I0d5e3c59f89ed8e0e02c386255286cfbb8693230
2014-07-17 10:29:18 +02:00
Nils Wallménius
8e8671a73e libopus: use iram for more constants
Speeds up decoding of the 64 kbps test file by 2.59 MHz and the
128 kbps test file by 4.31 MHz on H300 (cf). Decoding the same
files on c200 is sped up by 0.33 MHz and 0.55 MHz respectively.

Change-Id: I0f9f9ef6a7293581cf45e3201b33c65504c95c81
2014-07-13 14:19:54 +02:00
Nils Wallménius
888e05ec12 libopus: asm C_MUL for coldfire
The recent merge of upstream changed the fft to use C_MUL which
wasn't implemented in asm for coldfire.

Speeds up decoding 64 kbps test file by 2.68 MHz and 128 kbps
test file by 2.80 MHz on H300.

Change-Id: I8b61fc0f9568d6350431e311a12e44fe4f60f72e
2014-07-13 11:49:34 +02:00
Nils Wallménius
9b7ec42403 Sync to upstream libopus
Sync to commit bb4b6885a139644cf3ac14e7deda9f633ec2d93c

This brings in a bunch of optimizations to decode speed
and memory usage. Allocations are switched from using
the pseudostack to using the real stack. Enabled hacks
to reduce stack usage.

This should fix crashes on sansa clip, although some
files will not play due to failing allocations in the
codec buffer.

Speeds up decoding of the following test files:

                 H300 (cf)   C200 (arm7tdmi)  ipod classic (arm9e)
16 kbps (silk)   14.28 MHz   4.00 MHz         2.61 MHz
64 kbps (celt)   4.09 MHz    8.08 MHz         6.24 MHz
128 kbps (celt)  1.93 MHz    8.83 MHz         6.53 MHz

Change-Id: I851733a8a5824b61feb363a173091bc7e6629b58
2014-07-13 11:12:40 +02:00
Marcin Bukat
e557951c94 crc-mi4: use const lookup table for crc
This doesn't touch external tools as I see no need for.

Change-Id: Ia69248c4b6a033c3772916525257e3540bddcffa
Reviewed-on: http://gerrit.rockbox.org/891
Tested: Sebastian Leonhardt <sebastian.leonhardt@web.de>
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
2014-07-07 12:54:50 +02:00
Szymon Dziok
d188661d4c Finished SVG Image for Sansa Clip Zip.
Added labels and power button.

Original author: Marko Pahlke, FS#12602

Change-Id: I17cfa245fcd36755162a3c527de6ba768568a376
2014-07-02 15:33:30 +02:00
Szymon Dziok
a731780471 SVG image of the Sony NWZ-E360 and other formats for the manual.
Change-Id: I2783dd39a773d952997e4a6d28916290e0dd5f65
Reviewed-on: http://gerrit.rockbox.org/889
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-07-02 10:57:37 +02:00
Amaury Pouly
8d754c0997 Sony NWZ: calibrate discharge curves
The charging curve also need to be calibrated but that will be part of another
commit.

Change-Id: Ie4c5995123e4059ae4f3c9d86c11fc1257314d39
2014-07-01 17:26:29 +02:00
Marcin Bukat
314516e228 rolo: fix crc calculation for mi4
crc32gentab() which initilizes crc table was called in bootloader
but not in main binary. Fix this temporary by always calling it in
load_mi4(). The proper fix probably to switch to const table and
drop runtime initialization.

Change-Id: I8b0c2c791642f56ed56189d156647661935a815d
2014-07-01 09:16:03 +02:00
Nils Stec
c9816f57bf Introduce plugin keymaps for the Sony NWZ Series
Change-Id: I46b8766bd44118bce4931b7ee71815ae5f51cb2e
Reviewed-on: http://gerrit.rockbox.org/879
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-06-30 21:20:15 +02:00
Amaury Pouly
6e575b6c70 sonynwz: fix backlight
Apparently the backlight driver is leaking current even when the PWM set to 0.
This patch should greatly improve the battery life of the device.

Change-Id: I76bbc8a87cae452e599b37de17e91f373cee58bc
2014-06-30 20:57:37 +02:00
Amaury Pouly
ae9b78ee2e Plugins: remove defined keys which are never used
Change-Id: I0195ae43f35c7355de66d5fa8caa24d8da6cb61e
Reviewed-on: http://gerrit.rockbox.org/883
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
2014-06-30 20:35:12 +02:00
Dominik Riebeling
79a56fabb9 Compile imxtools as gnu99 standard.
With current MinGW using c99 as standard the compiler causes problems with some
types.  Use gnu99 standard instead which doesn't do this.

Change-Id: I731f58025645ae88ac226593a2b2a62140285ee8
2014-06-30 17:58:37 +02:00
Dominik Riebeling
7de2a364d0 Add note about translations to MSVC build instructions.
Change-Id: I06ed441801f50a7331d7610beaf6535f6ec0c602
2014-06-30 17:57:24 +02:00
Dominik Riebeling
d30c500b96 Make clean target work for MSVC dll Makefile on Windows.
Change-Id: Ifb9a00530720e0997421af9a07ae8c133f0edfd0
2014-06-30 17:57:24 +02:00
Thomas Martitz
5877f7b5c0 open_utf8: Actually use the result of read/write.
This silences warnings on some compilers but is anyway a good idea.

Change-Id: Ib566ab59a5d1cb433da466f3ce0c32ff150eb52e
2014-06-29 12:25:01 +02:00