summaryrefslogtreecommitdiff
path: root/firmware (follow)
Commit message (Collapse)AuthorAge
...
* maemo: Clean up unused variablesThomas Jarosch2015-01-11
| | | | Change-Id: I5fbb0b0cc56fa565499345844464d1c94ff3ba1a
* usb: finally get rid of USE_ROCKBOX_USB in Sansa bootloader, use bootloader usbAmaury Pouly2015-01-08
| | | | | | | | For some reason, the bootloader and config files didn't define HAVE_BOOTLOADER_USB_MODE, also remove the special cases in usb.c which they implied. Change-Id: I68c29be7d03627e64cac4ff7678e0c211e087a8c
* usb: make usb_release_exclusive_storage privateAmaury Pouly2015-01-08
| | | | | | Change-Id: I0383760b7d8e67cc99bbe4e4979bca92ef436c8d Reviewed-on: http://gerrit.rockbox.org/1098 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* Clarify usb_powered() and fix some code.Amaury Pouly2015-01-08
| | | | | | | | | | Either by mistake or because its meaning changed, usb_powered() doesn't mean what the name suggest, so clarify its meaning by renaming it to usb_powered_only. So use of usb_powered() are replaced by usb_inserted() when it makes more sense. Change-Id: I112887e2d8560e84587bee5f55c826dde8c806d8 Reviewed-on: http://gerrit.rockbox.org/1097 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* usb: document usb states, powering and detectionAmaury Pouly2015-01-08
| | | | | | Change-Id: Ia3b7d6c6294bfb9272355c3f28a994dd0e83cbce Reviewed-on: http://gerrit.rockbox.org/1096 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* usb: document usb_status_event and #ifdef it with USB_STATUS_BY_EVENTAmaury Pouly2015-01-08
| | | | | | Change-Id: I62cdb8ad71a598279fe99cc91d87eafda26cbbc7 Reviewed-on: http://gerrit.rockbox.org/1095 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* usb: move usb charging function prototype from usb_core.h to usb.hAmaury Pouly2015-01-08
| | | | | | Change-Id: Id29c60d3aa26f8badca6c38c1cbb2e5a39c554dc Reviewed-on: http://gerrit.rockbox.org/1094 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* Get rid of USE_ROCKBOX_USBAmaury Pouly2015-01-08
| | | | | | | | | | | Except for unfinished or experimental ports, it isthe case that USE_ROCKBOX_USB and HAVE_USBSTACK are both defined or both undefined. Furthermore, it is a leftover of some early developments on the USB stack and doesn't make sense anymore. Change-Id: Ic87a865b6bb4c7c9a8d45d1f0bb0f2fb536b8cad Reviewed-on: http://gerrit.rockbox.org/1091 Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
* Make thirty functions static to reduce binary sizeThomas Jarosch2015-01-05
| | | | | | | | | | | If any of those functions should be (unused) API functions, they can easily be turned back once really needed. Detected using a new cppcheck check that uses the internal symbol database to catch functions that are only used in the current file. Change-Id: Ic2b1e5b8020b76397f11cefc4e205f3b7ac1f184
* mktime(): Remove redundant assignment of 'result'Thomas Jarosch2015-01-04
| | | | | | | | | | | Checked with upstream lynx source code and the second calculation line is the upstream one, too. (In fact I diffed the whole function to check for changes) cppcheck reported: [rockbox/firmware/libc/mktime.c:43] -> [rockbox/firmware/libc/mktime.c:44]: (performance) Variable 'result' is reassigned a value before the old one has been used. Change-Id: Ia04c5f55da7d86cd74cff4fce675a9c85ddce3e2
* hosted target: Fix uninitialized variable in dirinfo.attributeThomas Jarosch2015-01-04
| | | | | | | | cppcheck reported: [rockbox/firmware/target/hosted/filesystem-app.c:509]: (error) Uninitialized struct member: ret.attribute [rockbox/firmware/target/hosted/filesystem-app.c:517]: (error) Uninitialized struct member: ret.attribute Change-Id: Ie8cab727faa8110a6fe3926dbcf852e8b9e96ca7
* Add and adapt buflib shrink testsThomas Jarosch2015-01-03
| | | | Change-Id: I8aad86226c9c9b2c04727a3703941615638b3a49
* Add buflib test for maximum allocationThomas Jarosch2015-01-03
| | | | Change-Id: I9076b81d2fd2609ab3e9c8c5a087f8a387480f46
* Add and adapt buflib move testsThomas Jarosch2015-01-03
| | | | Change-Id: I57929f8f6a18cf9570f7358d48ad33f285b9ab0f
* Bring abroad second buflib testThomas Jarosch2015-01-03
| | | | | | | | | Interfaces with core_alloc_* instead of buflib directly. Provide UT_core_allocator_init() with a fixed buffer size for predictable results. Change-Id: I26a7b3101f7782063547940bded52d8202638394
* Enable printing of buflib allocationsThomas Jarosch2015-01-03
| | | | Change-Id: Ie446177931032d585f69e0651f05ff88ebc6e8ba
* Initial import of simple buflib unit testThomas Jarosch2015-01-03
| | | | | | | | | | | | | | | Taken from kugel's out-of-tree version: https://github.com/kugel-/buflib Needs some API adaptions. More test will follow. Note: The expected output needs an update since the in-tree version of buflib does buffer alignment and also progressed a bit. Still the tests are a very good start. Added Rockbox copyright header during import were needed. Change-Id: Ib39ec4301285f1dd53059b7bed0c0d6646297dc5
* Fix up some DEBUGF statementsThomas Jarosch2015-01-03
| | | | | | | | | | The last big filesystem code refactoring broke a lot of debug statements. firmware/test/fat/ doesn't build anymore, but that's more or less unrelated. Change-Id: I4c9e1289eeabe1b59d436b176f1d35a02176614f
* Fix syntax error (missing semicolon)Thomas Jarosch2015-01-03
| | | | | | Reported by TheSeven on IRC. Change-Id: Ie4bb331f9db050a90d99732e46c23f6402c7c320
* buflib: Switch from term "cookie" to "metadata"Thomas Jarosch2015-01-02
| | | | | | | | | The documentation of buflib first mentions metadata and then changes to "cookie" without explaining it. Fix it by sticking to metadata. Change-Id: I0b36b18f4f2590132901c10326481975f8b9b9da
* Improve core_alloc() / buflib_alloc() documentationThomas Jarosch2015-01-02
| | | | | | | | | | | | | | | | | | | | Document the fact that buffers are movable by default. Care must be taken to not pass them to functions that yield(). Also clarify other things: - Passing NULL as "ops" to buflib_alloc_ex() causes buffers to be movable by default (but not shrinkable). - If you want shrinkable buffers during compaction, you have to provide a shrink callback. - To disable buffer movement, you have to pass NULL for the move_callback inside the callback structure. - The concept of default callbacks was removed long ago, remove the only reference of it. Change-Id: I3bf0ea6b08b507d80a19f3c2c835aca32b3f7800
* PictureFlow: Add move callback for buflib allocationsThomas Jarosch2015-01-01
| | | | | | | | | | If we don't provide a callback to buflib_alloc(), the buffer is always movable (to reduce fragmentation). Since we pass our buffer to functions that call yield(), this could lead to memory corruption on buflib compaction. Change-Id: Id1fad1822479d692551c55cb8bc87cea7b78f759
* Limit "struct dircache_runinfo" to file scopeThomas Jarosch2015-01-01
| | | | Change-Id: Ib3edef9a4568605a36bdacde174dfa6bca2d26fa
* Add missing newline in debug outputThomas Jarosch2014-12-30
| | | | Change-Id: Ifd67dbcc80db328391464ec93316c48f914bc590
* Document 'union buflib_data'Thomas Jarosch2014-12-29
| | | | Change-Id: Ia98fa8e7887338d6c0b7a5795a0ae5c7a13014ba
* Two more typo fixesThomas Jarosch2014-12-27
| | | | Change-Id: Id3ec7c1da356cb7c617a1d9ad57c9e0ae9fa6611
* Fix typos in documentationThomas Jarosch2014-12-27
| | | | Change-Id: I3c7e204bcf67bf0004314fe4b2aec98cae145273
* DX 50: Fix file descriptor leak on errorThomas Jarosch2014-12-20
| | | | | | | | | | Unimportant change, still good style. cppcheck reported: [rockbox/firmware/target/hosted/android/dx50/button-dx50.c:92]: (error) Resource leak: fd [rockbox/firmware/target/hosted/android/dx50/button-dx50.c:98]: (error) Resource leak: fd Change-Id: Ic1831382219c44e7bef71cb2391646c9910d2369
* mini2440: Fix bogus buffer access in LCD backlight driverThomas Jarosch2014-12-20
| | | | | | | | | | | | | | | | | | | The backlight driver always writes a bogus value from memory into the LCD brightness register. Fix it up by adding bounds checks and use a more sane default value. While looking at the code, I noticed that BACKLIGHT_CONTROL_SET probably ignores the desired brightness level, too. Note: Please test on real hardware, I don't own it. cppcheck reported: [rockbox/firmware/target/arm/s3c2440/mini2440/backlight-mini2440.c:53]: (error) Array 'log_brightness[13]' accessed at index 255, which is out of bounds. Change-Id: Iaafa929a8adaa97b93ebcb66e1f6bd3bf0dad84e
* vibe 500: Fix ide_powered() always returning falseThomas Jarosch2014-12-20
| | | | | | | | | | | | | | While the right GPIO location is accessed, the result of the logical AND was tested wrong. I don't have this hardware, but I can imagine that bug caused ide_power_enable() to be called more times than it needed to be. cppcheck reported: [rockbox/firmware/target/arm/pbell/vibe500/power-vibe500.c:101]: (style) Expression '(X & 0x8) == 0x1' is always false. Change-Id: I98498f79d383c6f29869e170bfc94ba9a0d2ba7e
* Add missing va_end() call when the log is fullThomas Jarosch2014-12-20
| | | | | | | | | No need to go out of memory, too ;) cppcheck reported: [rockbox/firmware/logf.c:338]: (error) va_list 'ap' was opened but not closed by va_end(). Change-Id: I00e4c04d7e3d5d1415aa5066487ce1d9209e53aa
* maemo port: Fix startup crash exposed by audio thread refactoringThomas Jarosch2014-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The refactoring of the audio thread in this commit ----------------------------------------------- commit 5857c44017a1641fce7f00da7f16c143daacbaf6 Author: Michael Sevakis <jethead71@rockbox.org> Date: Fri May 31 02:41:02 2013 -0400 Refactor audio thread to run both recording and playback. ----------------------------------------------- moved pcm_init() next to dsp_init() in apps/main.c:init(). Before that pcm_init() was called by audio_init(). Unfortunately the maemo init code didn't properly wait until the maemo thread was fully initialized, leading to dangling pointers when the code called by pcm_init() tried to access maemo's variables. Fix it by refactoring the "very fast shutdown" semaphore to wait until maemo is initialized in any case. This should also fix very rare rockbox crashes on startup that I got once a year or so. The new code has been tested by a script that starts and kills rockbox after one second. Change-Id: I464efce5f2b71ca869c72a5bc578555b8022e459
* Fix up maemo port after byte swap header refactoringThomas Jarosch2014-12-17
| | | | | | | | | | Turns out maemo's old gcc 4.2.1 doesn't include any arch optimized swapXX() functions, just plain C implementations. Before we pull in lots of linux kernel headers for the C implementation, just stick to rockbox's own version. Change-Id: Ic28b41b52fe47f814c7f3897ce15334a42b6c5e2
* iPod Classic: YUV to RGB optimizations for ARM v5+Cástor Muñoz2014-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimizes YUV to RGB conversion using ARMv5 multiply-accumulate intructions for operations and data tables for saturation. This first patch set includes the three versions i have developed. Although iPod Classic need to use the latest version to reach 30fps, old versions may serve other targets. All versions are based on current SVN algorithm (round->scale->add) using the same coefficients, so output results are identical. Version history: ARMv4: - use all available registers to calculate four pixels within each loop iteration. - avoid LDR interlocks. ARMv5TE: - use ARMv5TE+ 1-cycle multiply-accumulate instructions. ARMv5TE_WST: - use data tables (256 bytes) for RBG565 saturation. Benchmarks results using iPod Classic (ARM926EJ 216Mhz): size test_fps (1) mpegplayer (2) bytes YUV YUV1/4 average min/max ----- ----------- ------------------ SVN-20141107 528 27.8 110.0 11035 10864/13397 ARMv4 480 28.8 114.0 9767 9586/12126 ARMv5TE 468 29.7 117.5 8751 8584/11118 ARMv5TE_WST 544 33.6 133.0 6355 6316/6403 (1) boosted (2) play full elephants_dream_320x240.mpg file (15693 frames) using mpegplayer, patched RB measures YUV to RGB565 frame conversion time (microseconds) Compared against the WST version, the ARMV5TE version w/o cached saturation tables is slower, but it is smaller and i have doubts about the power consumption. Change-Id: I2b6a81804636658d85a1bb104ccb2055e77ac120 Reviewed-on: http://gerrit.rockbox.org/1034 Reviewed-by: Cástor Muñoz <cmvidal@gmail.com> Tested: Cástor Muñoz <cmvidal@gmail.com>
* ypr0: Get it up and running againThomas Martitz2014-12-09
| | | | | | | | | 7d1a47cf13 introduced a regression that broke it completely so that it couldn't boot into the main menu anymore. It had a faulty call to get_volume_name() which made handle_special_links() act up. This broke every open() and opendir() (and friends) library calls. Change-Id: I399960ca8fb6e3bcc1f25c9b4a3c19a6d28b77bd
* iPod Classic: configure piezo GPIO portsCástor Muñoz2014-12-08
| | | | | | | Configures piezo GPIO ports for the lowest power consumption when not in use. Change-Id: If80b0c947f197277972fd9319b8ab283cca96d3c
* iPod Classic: minor modifications in TIMERCástor Muñoz2014-12-08
| | | | | | The current behaviour should not change. Change-Id: Ia8f44cdccf41dbc3881722f9aebab91de51a9bc5
* rk27xx: sd: properly align buffer used for DMA transfers.Andrew Ryabinin2014-11-29
| | | | | | | | | | | Commit 7d1a47cf ("Rewrite filesystem code (WIP)") exposed bug in rk27xx sd driver. Buffer passed to sd_read/write_sectors() doesn't has to be cacheline aligned. DMA transfers on unaligned buffers is quiet dangerous thing. Make sure that the buffer is aligned to cacheline size, If not use a temporary aligned buffer for DMA transfer. Change-Id: I91420f2b8d58159c80c3f15f4b35e88ea0dfd14c
* Add IS_ALIGNED(x, a) macro helperAndrew Ryabinin2014-11-29
| | | | Change-Id: Ic5799e4bc03cabddece80cbc129b16f3a19ff9c5
* iPod Classic: fix HW_FREQ_32Cástor Muñoz2014-11-18
| | | | Change-Id: I1e1b4e6ceb92eb793affaefc61ab082d5da735b4
* iPod Classic: update timer API using 32-bit timers.Cástor Muñoz2014-11-16
| | | | | | Change-Id: I49dab8ae955a339ad0a27402fa21caa411c4ecf6 Reviewed-on: http://gerrit.rockbox.org/1032 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
* iPod Classic: fix s5l8702 cache line length.Cástor Muñoz2014-11-13
| | | | | | | | | | Use 32 bytes for cache line length (arm926ej-s), this prevents misalignments of ATA storage buffer which in some builds could cause weird faults. Change-Id: I88dc595d251315620ec49b0251ddc039ff47181e Reviewed-on: http://gerrit.rockbox.org/1031 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
* HDD1630/HDD6330/SA9200: Integration of the clicker with the "Keyclick" menu.Szymon Dziok2014-11-10
| | | | Change-Id: Ieb26f2252c1f2613cc9bd83c8349f49113f46d87
* zen: typoAmaury Pouly2014-11-10
| | | | Change-Id: I68be3c768c092d7e43df8fa233f3a954e56f4d93
* Fix YUV generic C performance function on 24-bit framebufferAmaury Pouly2014-11-10
| | | | | | When changed to handle 24-bit framebuffer, some places were missed. Change-Id: Iaa7e09ea723e5b40bd88b2042c93dafaa7311fee
* Enable battery charging detection for iBasso DX50/DX90.Udo Schläfer2014-10-18
| | | | | | | | | | | | | | This changes iBasso DX50/DX90 config from CHARGING_SIMPLE (Simple, hardware controlled charging (CPU cannot read charger state but may read when power is plugged-in) to CHARGING_MONITOR (Hardware controlled charging with monitoring (CPU is able to read HW charging state and when power is plugged-in)). Not really usefull at the moment, since USB connection (charging) is not (yet) gracefully handled for iBasso devices. Change-Id: I55da81b10637d4de88d713ea5eba08eb59bc629f Reviewed-on: http://gerrit.rockbox.org/1010 Reviewed-by: Michael Giacomelli <giac2000@hotmail.com>
* YH820/YH92X: Properly enable morse input.Szymon Dziok2014-10-08
| | | | Change-Id: I6a35d64d0859b7ef429919c260a69974d6fdfafb
* Samsung yh820/yh92x: add HID keymaps.Szymon Dziok2014-10-03
| | | | Change-Id: I575e0e858aef0090d6864837d40a7b51e996ab43
* YH920: fix the battery capacity.Szymon Dziok2014-10-02
| | | | Change-Id: I6c7a771d8f1f1284fc13f1b0d16744fa03741c43
* ipod6g, ata: Fix audio drop off while waiting for ata not busynialv72014-10-02
| | | | | | | Change-Id: Id8fe39593fe3e6c5f0801bfa47ee1e04f7e7045f Reviewed-on: http://gerrit.rockbox.org/970 Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com> Tested: Nial Shui <nialv7@gmail.com>