Age | Commit message (Collapse) | Author |
|
Change-Id: Ibc4aac79e6fce92ad4414ed50122c2d4d6295f89
|
|
- increase decoder thread stack size just enough (2KiB) to
avoid stack overflows when seeking in opus files
- only do so on devices with at least 8MiB of RAM
Change-Id: I7e7182ae866338b4aad6ed7e32391ddd667121bd
|
|
It actually works for transferring data now!
Igor Poretsky gets full credit for this patch.
Change-Id: I247c70fdf45e590b4699b9b8668bbdab7bc3ef03
|
|
Change-Id: Ieab5f864751cf798b62c4e89e670acf7ade756ab
|
|
* Fully Interrupt-driven, with proper task yielding
* Much more robust error handling
* Eliminate duplicate code
* Pile of bugfixes
(Much of this adapted from Igor Poretsky's tree)
Change-Id: I46006412323cba2088b70094635d62a241be1d7e
|
|
Silences some annoying clicks.
Change-Id: I3d32d4b33c0ccc61877e10f5af97fe05084d66e5
|
|
* Better multidrive support
* Common slot1/slot2 handling code
Change-Id: Id0aed90cbba4246fdc71b42e03f016f8060d258a
|
|
Change-Id: I0cf2f0d55e0859f896afef289e833935d7c5a599
|
|
Change-Id: I1746d67c818ad099edea83e6242ffd5c79be0000
|
|
Change-Id: I4f9339019884aceedc8c9d0ab779a2e32ace0288
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
|
|
Change-Id: Ibc6b204357524550a0d6fa917e7d074ec2e52773
|
|
use a table approach for registering integer / string constants
Change-Id: Idbccae9c2203de1c694f6dd5a7014a7fccedae9b
|
|
Change-Id: Icd10e4c348deec7729d4a6e2bf1152e1dfc70243
|
|
Taken from Amaury Pouly's Fiio X1 patches in gerrit.
Xduoo X3 no longer panics on startup
Change-Id: I4c2dee832306755b9e496084cb47fb61f804af20
|
|
swr/swl instructions used for word aligning were wrong. This
made memset() terribly broken. I can't imagine how it went
uncaught for soooo long. Spotted by Solomon Peachy.
I run unit tests for alignments 0,1,2,3
size 1, 2, 3, 4, 5, 63, 64, 65, 127, 128, 129;
and fill pattern 0x00 and other (since 0 is special case in this
implementation).
Change-Id: I513a10734335fe97734c10ab5a6c3e3fb3f4687a
|
|
(Caused non-realtime playback on mips..)
Change-Id: I878229e16e31d49156f1ae71ab9c7bb627e4c17b
|
|
* rotate screen counterclockwise
* rotate directional buttons
Change-Id: Icbdf26fe1e14638eb8b0746a9eea99e0236ac6b1
|
|
Change-Id: Id204276387d55ba2276530ed1cb6ee827e28062a
|
|
On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is
slower than DRAM. Codecs that actually are using regions of IRAM1 runs
faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains
enabled: 48KB for core and 80KB for codecs/plugins.
The next test_codec results shows how decode time is decreased:
file boosted unboosted
*.ra ~1.5% ~0.5%
*.mpc ~21% ~4.5%
*.ogg ~0.5% ~0%
nero_he*.m4a ~8% ~1%
nero*.m4a ~25% ~7%
wmapro*.wma ~4.5% ~0%
wma*.wma ~25% ~7%
In addition there is a small power save when IRAM1 HW is disabled.
Change-Id: I102adee11458e82037f23076d5d5956e23235de8
|
|
For s5l8701, s5l8702 and as3525v2 targets.
The crash occurs when USB is inserted or extracted while the playlist
is being loaded or updated (it could take a few seconds for huge
playlists), at this point all buflib memory is allocated and not freed
before usb_starage_init_connection() is executed.
This workaround mitigates this panic by using static memory for USB
buffers, so this memory cannot be used for other tasks, in addition
the problem still persist when playlist load is 'paused' by USB
insertion and then updated after USB extraction.
Change-Id: Iff1db5a949361fd543e0b494924d1f2906c84b5e
|
|
Change-Id: Ie34657fe652d3613429d3fa233faac9608a8b826
|
|
This should fix the build system.
Change-Id: I7af7628083cf20aa85278dfa3fee70a0ccb2dcc3
|
|
This reverts commit 6f0320a9535bc1aa81d83fa879ac14d5ee603658.
Change-Id: I7425d422a4a0af7a49e9194cfe0bb55d431bc401
|
|
This reverts commit 568b81202ebd24a3f7e9efe0558b5f6beed05b44.
Change-Id: I2af42cd53d0ce490bf96c68288e9fbde034c0069
|
|
Some devices seem to have trouble accessing the storage at lower voltages.
|
|
|
|
Cleaned up, rebased, and forward-ported from the xvortex fork.
(original credit to vsoftster@gmail.com)
Change-Id: Ibcc023a0271ea81e901450a88317708c2683236d
Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
|
|
Change-Id: I4d3dad4521bdf0b0d6ee5d1635ddbf57483d2b42
|
|
fix one off error
Change-Id: I9b3b23c9f6c36107e73e511d8cb1bc5cd987e765
|
|
Change-Id: Ic5d9de230efceabc2c428e5c78fa6596a5a34840
|
|
Allow user to select cpu undervolt
There have been quite a few issues across the SANSA AMS line related
to CPU undervolting while most players show greatly increased runtime
some crash.
Rather than constanly upping the voltage we now have a
setting with a safe value for all players and the option for lower voltages
I plan to add a few other options here later such as disk
timings and maybe some other clocks/experimental settings
Added: Disk Low speed option for AS3525v2 devices cuts
frequency to 12 MHz from 24 MHz
Added: Disk Low speed option for AS3525v1 devices cuts
frequency to 15.5 MHz from 31 MHz
Added: I2c Low Speed AS3525 devices, should be bigger improvement for v1 devices
Fixed: Debug menu for AS3525v2 No SDSLOT frequency,
Showed IDE freq though it is unused
Added: DBOP and SSP underclocking affects display on v1/v2 respectively
Fixed: debug menu now has SSP frequency, and SSP_CPSR
Update: made settings menu more generic
Update: cleaned up code
Added: Clip v1 & Fuze v1 didn't have HAVE_ADJUSTABLE_CPU_VOLTAGE.
not sure why but, waiting on testing to confirm
Added: C200v2 and E200v2 devices and HAVE_ADJUSTABLE_CPU_VOLTAGE.
Fixed: v1 devices don't like display timing set lower (dbop)
v1 devices don't have a divider set for ssp (causes divide by 0)
Fixed: ClipZip display lags with Max SSP divider changed from 0xFE to 0x32
Fixed: v1 devices didn't work properly with highspeed sd cards
Added code from http://gerrit.rockbox.org/r/#/c/1704/
Added powersave and IDE interface enable/disable
Added: V2 devices now have powersave enabled on sd interface
Update: cleaned up code, lang defines, added manual entries
Update ssp clock mechanism added calculated ssp divider to clipzip
Update turn display clock off when clip+ turns off display
Fixed: clipzip wrong register for SSP clock
Change-Id: I04137682243be92f0f8d8bf1cfa54fbb1965559b
TODO: add other players?
|
|
I previously noticed that manually clearing the framebuffer while scroll
function was active caused lua to crash
I could reproduce in sim and on device but I thought using the plugin
supplied rb->lcd_clear_screen was immune to this issue
Unfortunately some devices exhibit this behavior with the plugin function
as well
This patch adds rb->lcd_scroll_stop() before lcd_clear_screen at lua start-up
and to the supplied include file lcd.lua
Change-Id: I9800145e5c834ea27df5db5f1bca50b0d40faa49
|
|
Saves 100+ bytes (50 of it in iram), saves a bit of power
Internal LCD clock decreased but with added efficiency of drawing routines
loses only around 2 Hz on the scanrate (~75Hz) while fps is slightly increased
Column offsets are now calculated outside the loops saving a few instructions
Passing a LCD_NOP command after lcd_update turns off Data/Cmd# gpio
saving a bit more power
Added a function lcd_write_cmd_triple() that allows 3 commands to be sent at once
when enabled with LCD_USE_FIFO_FOR_COMMANDS it sends them back to back without
checking FIFO status in between or sending to thhe D/C# Gpio.
Makes an assumption about the FIFO being large enough to
accept 3 commands after being emptied which should be the case on the
clipv1, clipv2, clipplus. I have only enabled it for the clip plus
as thats the only device I have to test it on.
On clip+ the SSP clock is now turned off when screen is off
Change-Id: Ib5fd24697bfe4ac8b8ee017361e789e4a7910d21
|
|
On the clip zip most debug menu items get cut off and there is
no way to read most of the debug menu items.
This patch makes the menu button scroll the text 1 character
to the right with each press and the center (select) button
re-aligns the text
Adds SSP frequency(v2) & register
Adds SD slot frequency(v2)
Change-Id: If4705d6790e25061931ca654062e22fc2e0a6f16
|
|
Change-Id: I312ec7ad06fde5b2f9747661cd2d4ffcb4cbf755
|
|
This reverts commit 540637ed3334364fe9d1b54cdc96a52f59afda83.
Change-Id: I88e71ef47a11818a5acb407ff9c0723d3c197243
|
|
Change-Id: I49d2b3635c62277723665d0bdd68808cc82ca1a9
|
|
Change-Id: Id1008300e58cf12ab920c1023354a74a6d32daae
|
|
Change-Id: Ic5ae1e5f904a3da4bba07cdef7f4bb003dc091b2
|
|
Change-Id: I51edd5319882b2928b565c27615e20937399a1f9
|
|
Change-Id: I0c62f06fea3ccb55efa21b719a44a263dedc32e2
|
|
Change-Id: I0de8a1468379f60140fb30b6c086fe15ea753da2
|
|
This reverts commit a81c63160c5d1da3a5c2b407fae58daead6199a8.
Change-Id: Ie6d3e780fd6318b6173943167015f78f4a9c327a
|
|
This reverts commit c332180afd8ac408883ba79c6c4d9c86120198e0.
Change-Id: Ic7a85a0fe82cd13514e85011e0a5cbd79ec36c2b
|
|
Change-Id: I48189c3ce29f27d4b3bb4f874c80636c1f0ca6b6
|
|
Lets see if this works..
Change-Id: I1fa7f17a07b3a7b479f987694ffcd59bc4e0bf5b
|
|
I2c controller needs to be enabled in order to read CSPR0, CSPR1
registers function sets CGU_I2C_AUDIO_MASTER_CLOCK_ENABLE
and only clears if it wasn't previously enabled
Use divider set in register to calculate frequency rather than
hard coded divider
Change-Id: I54ecc0c1859e906c00f4c2ae8ae2424a4619df98
|
|
button_read_device()
switching GPIOB in order to read GPIOD96)
(power button) is apparently unneeded
Change-Id: I1fbf13f67f938806086754cdd5e389ef6746ae5f
|
|
Last commit was just a test to see if it work this one cleans it up
a bit and should be a bit faster
Change-Id: Ifdff5c5b78bcc6889506de607193246beccdde6b
|
|
Change-Id: I888612f3339ffcde28602a4e739b08f630de9c28
|