summaryrefslogtreecommitdiff
path: root/firmware
AgeCommit message (Collapse)Author
2021-03-04mips: Revert to commiting the cache when we're told to discard an unaligned ↵Solomon Peachy
block. The filesystem API often passes in unaligned receive buffers, and some code (eg BMP reader) processes data in-place, leading to data loss when we dropped the cache. (And document exactly what we're doing, so we don't go through this again at $future_date) Change-Id: If47a7f2148a5a1a43777f0bd3be1bdfe8239e91e
2021-03-04rolo: use audio_hard_stop() instead of audio_stop()Solomon Peachy
This kills the audio thread entirely, including voice stuff. Change-Id: Id6fd58a97d5a57285016351bbfd3e843b2f339f2
2021-03-04Check core max allocations for valid handleWilliam Wilgus
fix rolo warnings Change-Id: Ia2c669a5517aec54e5b2c0dc5934c88a4f49f2a9
2021-03-04Clean up places that use #if defined(CPU_ARM | CPU_COLDFIRE | CPU_MIPS)Solomon Peachy
Since that encompasses _all_ of our native targets in a post-archos world, either replace it with #if (CONFIG_PLATFORM & PLATFORM_NATIVE) or delete it altogher as appropriate. Change-Id: I9128a456e850d5c96a9e05806aad3acd923f90c5
2021-03-04ROLO check for OOMWilliam Wilgus
Splqash failure and return on OOM Change-Id: I97b8783ba42545e30a5639e8a751d1e6834aebc8
2021-03-04Third try fixing MIPS cache codeAidan MacDonald
Changing this to be a pure discard operation after discussion on IRC Change-Id: I62955ae7975fdbbfd9eef376476042a36fe3d95a
2021-03-03jz4740: Fix incorrect dcache flush in the USB RX DMA code.Solomon Peachy
Change-Id: I01eff581b16569bda97c55afc7adac897b29e0e3
2021-03-03Really fix the MIPS cache bug this timeAidan MacDonald
In fixing the original bug I tried to optimize discard_dcache_range() to minimize writeback and inadvertently introduced a second bug, which typically ends in a TLB refill panic. It occurs only if the range fits within one cache line, and when both the start and end of the range are not aligned to a cache line. This causes ptr to be incremented and end to be decremented, so ptr > end, and the loop can't terminate. Change-Id: Ibaac072f1369268d3327d534ad08ef9dcee3db65
2021-03-03ihifi: use STORAGE_WANTS_ALIGN rather than STORAGE_NEEDS_ALIGNSolomon Peachy
Change-Id: I39284194d19785e92ca641c85b03d31849b85ec9
2021-03-03Fix MIPS cache operations and enable HAVE_CPU_CACHE_ALIGN on MIPSAidan MacDonald
- The range-based cache operations on MIPS were broken and only worked properly when BOTH the address and size were multiples of the cache line size. If this was not the case, the last cache line of the range would not be touched! Fix is to align start/end pointers to cache lines before iterating. - To my knowledge all MIPS processors have a cache, so I enabled HAVE_CPU_CACHE_ALIGN by default. This also allows mmu-mips.c to use the CACHEALIGN_UP/DOWN macros. - Make jz4760/system-target.h define its cache line size properly. Change-Id: I1fcd04a59791daa233b9699f04d5ac1cc6bacee7
2021-02-27Rename symbols of FiiO M3K Linux-based portAidan MacDonald
Mainly a straight replacement of FIIO_M3K -> FIIO_M3K_LINUX. Change-Id: Id07c84f8150991d1b6851540c2c3f8f67e3f12c2
2021-02-27Disable UDMA 2 on iPod4G targetChristian Soffke
ATA DMA was enabled for all PP502x targets in d118f47 after previously reported instabilities were thought to have been fixed. The iPod 4G target remains unstable when UDMA 2 is enabled. File system corruption will eventually occur even using stock hardware in normal usage, according to both my own experience and that of several other forum users. UDMA 1 appears to be stable. Change-Id: I8526bad9e879f5dad5174cfe07cd8828d8b72406
2020-12-24USB: Reset poweroff timer for all USB eventsSolomon Peachy
Without this, if a device is left plugged in and idle, unplugging it will trigger an immediate shutdown. Change-Id: I65caaa0c1473562ec5d0bb776b01d4d222d69965
2020-12-16erosq: Enable HAVE_SCROLLWHEEL for saner scroll wheel handlingSolomon Peachy
Basically no longer treat SCROLL_FWD/BACK as "button" events, instead relying on the scrollwheel hooks to handle things properly. Change-Id: I9bf18595ab3ca68e912f6dfb1f2eac2544578e73
2020-12-08lcd: Wrap anonymous union initializer in bracesFranklin Wei
GCC 4.9.4 is apparently smart enough to compile this, but 4.4.4 is not. Change-Id: I186f969cbad4c701936ab738f585efea07421d2e
2020-11-29FS#5320: Keypad hold doesn't let go until scrolling is used (ipod 4g/5g)Solomon Peachy
Patch by Boris Gjenero Change-Id: I7df956fb63478bbbe891104faf5ab35096da7576
2020-11-22rockbox: move firmware checksum algorithms into a common headerJames Buren
Before this was just implemented inline wherever it was needed. Now it is provided as 2 inline functions in a header called checksum.h. There should be no differences in actual behavior. Change-Id: I5d756cc01dc6225f5cc8b6af90911a3fc7b57cd5
2020-11-18hosted: Improve buffer underrun handling in the ALSA driverSolomon Peachy
* Bump internal mix buffer size by 4x, to 1K frames (matching ALSA period) * Handle an underrun that occurs when filling the audio buffer * Log underruns and make them available in the debug info Change-Id: I28d56dd35d88851fa167ad92368a5882937a758f
2020-11-18configure: Add prompt for USB Serial into the advanced modeSolomon Peachy
And explicitly disable USB_ENABLE_SERIAL when HAVE_USBSTACK is not define Change-Id: Ieb4176b02a60eb1b9db81f0b8c69403898a76ca1
2020-11-17usb: increase the stack size.Solomon Peachy
It's not large enough on some targets. (this will be revisited when the USB insertion prompt stuff is moved out of the USB helper and over to the main thread) Change-Id: Iefed2cdf2fbb4ce92569fc5cacbdb479b7d24e61
2020-11-16FS13257: Fix inconsistent defaults in the USB mode selectionSolomon Peachy
Change-Id: I44894d13f070313ad326ce68018556573e35aad9
2020-11-16iriver_flash: update valid bootloaders tableJames Buren
This removes all the pre-release bootloader of version 7 and replaces them with production releases of version 8. The pre-releases have their own problems and should be left behind as they were never officially released. Change-Id: If96531ba63cf4401d04133bda94735fe94ae4de1
2020-11-14Remove some SWCODEC artifactsMoshe Piekarski
Change-Id: I580522bc0ec3bc86c24400625d7d9cde2eea8fc8
2020-11-14rockbox: revise charger_inserted and power_input_present functionsJames Buren
This makes it so the thread cached variable is only read if building the regular firmware. For bootloaders the data is now read directly. This fixes the functions for bootloaders so they do not have to import the power management code just so these functions will work when in the bootloader. Change-Id: Ic425b02c08b48df7a11a6c19c022b0e1cb316a85
2020-11-13ibasso: Hopefully hack usb into building again.Solomon Peachy
Change-Id: I6f369d60319704ab4d2c18b80ba6e78902630790
2020-11-13ibasso: Fix red introduced in 60f581eSolomon Peachy
Change-Id: I9095e9e9213dde252de836851b743001b9483a1b
2020-11-13usb: Add ability to prompt user about what to do upon usb insertionSolomon Peachy
v3: Add in config option v4: Bugfixes v5: Force a redraw upon exiting v6: keypress-in-chargeonly mode enables mass storage (and vice versa) v7: Fix bootloader builds v8: Update manual, and have bootloader respect keypresses v9: Change default to mass storage (ie no change in behavior) todo: * test-build dx50/dx90 * Switch from yes/no to proper menu? * prevent WPS progress bar from drawing over us Change-Id: I82e0ccb08497b7a5aa756ce77f1332ee963703a7 ... Change-Id: I7946cf240b18a4fa8ace5e25e1eb6e97b8b12d7c
2020-11-13h300, Others Bugfix Bootloader backlight_init()William Wilgus
backlight_init needs to be called after lcd_init when using lcd_enable() Change-Id: Id034835c903801fea49e2b972c110c1ec5106976
2020-11-13h300: fix one long-standing bootloader bugJames Buren
This was introduced in e13c6001332882291363bdf2f1155875439fe187 back when the author was trying to optimize the LCD code with DMA. For whatever reason this broke the bootloader for the last 10 years or so and no one could figure out why. This is now fixed. However the bootloader is still currently broken in HEAD due to recent changes to the LCD code. A fix for that is not yet known. Change-Id: I046d53f9f391f558c391f2fadb6b260fe3be4d92
2020-11-12pcm: Further cleanup of unused bits of the PCM ACPI:Solomon Peachy
* pcm_get_bytes_remaining() * pcm_calculate_peaks() * pcm_get_peak_buffer() Nothing in-tree uses these at all (except for the lua plugin wrapper) Change-Id: I971b7beed6760250c8b1ce58f401a601e1e2d585
2020-11-12Rocker Add WPS and Tree Hotkey, button codes in debug menuWilliam Wilgus
VolUp+VolDown becomes the wps and tree (file browser) hotkey Change-Id: I0cba96927420c318506bc0c15dabcb809cd81647
2020-11-11iriver_flash: refactor code to be easier to understandJames Buren
This overhauls most of the code to be easier to understand in terms of the interactions with the flash. I found the original to be rather confusing with how it kept switching between byte and word offsets. My solution was to make all external access to the flash in terms of sectors and bytes. Whatever the flash uses internally is now handled by the subroutines for performing the erase, program, and verify operations. This helps make it far more consistent for the code that actually uses these operations as they do not need to concern themselves with word sizes and offsets anymore. As a side effect of this change the flash operations are now done entirely by subroutines; even the batch operations that used to use custom loops. Additionally some functions were merged with other functions in order to reduce the amount of functions as well as consolidating common code fragments. Change-Id: I4698e920a226a3bbe8070004a14e5848abdd70ec
2020-11-08Fuze+: Fix misplaced rectangle when lcd_flip setMoshe Piekarski
Change-Id: Ic5197d8dffd66cfefdb42242869b48b33aa4d042
2020-11-04pp5020: use ipod firmware timings for ATA PIO.Torne Wuff
Some mSATA adapters seem to have trouble working with Rockbox using our normal PIO timings; the timing value we use is probably out of spec and is different to the OF. Switch to using the OF's timings according to which PIO mode we select. This may not completely resolve problems with these adapters but allows Rockbox to boot and play audio. Change-Id: If73210700eb4af01864b373709ee1d15c775fb11
2020-11-03Remove the firmware decompressor and a few more other SH-stragglers.Solomon Peachy
Change-Id: Ic568755afcccc6db1b6e791b1ed0d2588b90356f
2020-11-03ATA: Check to see if the ATA device is solid-state (WIP)Solomon Peachy
Not all devices advertise this flag, unfortunately. Change-Id: I6d666febdfcba7598e4d29df7d05c0a288e15158
2020-11-03erosq: Fix scrollwheel regression introduced in 125e97b0Solomon Peachy
Change-Id: Ie1a53d7140ffb09d8e3a19a41617fdc51344a619
2020-11-02FuzePlus USB+screen dump overflows usbstackWilliam Wilgus
Bump USB stack by 128 bytes adds USB_EXTRA_STACK Change-Id: I12839edbe889c878482081cf59fc6540384673ac
2020-10-31Rocker: Fix a boneheaded bug introduced in dd82f13fa1Solomon Peachy
Change-Id: Ia743cba6ccd50b38b052f26cce23ac9fe7aac31b
2020-10-31hosted: Consolidate common /dev/input code shared by the hiby targetsSolomon Peachy
* Enable dynamic number of input devices, needed for bluetooth support Change-Id: Ic2425834eb9b0fff298899ab45f3115ce1d95e91
2020-10-31nwz/alsa: various improvementsAmaury Pouly
Also audiohw driver to specific device name, rewrite alsa controls code to cache more data, thus making the code easier and use less stack. Avoid using short/long in pcm alsa code since it's the wrong size on 64-bit (simulator for example) Change-Id: Ibc1ec44396e37b6cbdedbcf37300878638e5d2d3
2020-10-31hosted: fix warning when LOGF is enabledSolomon Peachy
Change-Id: I67b4cbf8899860411869399143424a0e55d0d4ca
2020-10-31lcd_framebuffer bugfixes, sanity checksWilliam Wilgus
several issues I saw that could pontentially cause problems scroll engine doesn't take text height into account when checking bounds NBELEMS was one whole row too large hopefully I got them right this time Change-Id: If303da8320429c3964fc675351cb088d46303745
2020-10-31fix red introduced in the android pcm driver (rev fe2d52c)Solomon Peachy
Change-Id: I2fa160fd39842a5434cf11573b50061786e610ca
2020-10-31pcm: Get rid of pcm_play_pause() and associated APIsSolomon Peachy
Nothing in the core has used it for some time. It's exported to the plugin API but the last plugins to use it were switched to the mixer API back in 2011. This allows us to get rid of pcm_play_dma_pause() from all audio drivers Change-Id: Ic3fa02592316f84963e41d792d1cabb436d1ff6b
2020-10-27dircache: Fix a NULL pointer dereferenceSolomon Peachy
if idx == 0, get_idx_dcvolp() will return NULL. Change-Id: I4eafa71bb1f77ef8c865570bf8f124cdd9326d3e
2020-10-27iaudiom5: Fix build.Solomon Peachy
Basically we're overflowing IRAM by 48 bytes. Shrink the stack by 48 bytes to compensate. Fixing this properly will require careful decisions about what (code and/or data) to eject from IRAM. Change-Id: Ia3054280bcbd9813b9cce83f16ba4fbd15085110
2020-10-27coldfire: We need -fno-delete-null-pointer-checks in flash controller codeSolomon Peachy
Change-Id: I9a3e4ced2c3d41f6a31a968af72659a1a14f702e
2020-10-26'Fix RED e200 Framebuffer_viewport_rewriteWilliam Wilgus
Free malloc in checkwps too Change-Id: I2b8fcbc94beb0644b643d3b7a9cb53bc26fc8a51
2020-10-26FIX RED framebuffer viewport rewriteWilliam Wilgus
Change-Id: I4cb8f580e15440d06f8d5fabb2fbf5147c67b49c