summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-10-31hosted: Consolidate common /dev/input code shared by the hiby targetsSolomon Peachy9-274/+144
* Enable dynamic number of input devices, needed for bluetooth support Change-Id: Ic2425834eb9b0fff298899ab45f3115ce1d95e91
2020-10-31nwz/alsa: various improvementsAmaury Pouly10-92/+121
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 Peachy1-0/+1
Change-Id: I67b4cbf8899860411869399143424a0e55d0d4ca
2020-10-31plugins: bump api version (missed it in fe2d52c)Solomon Peachy1-2/+2
Change-Id: Ia6c89ede0bc9b3e2599aee97177f3cce94e70bd2
2020-10-31lcd_framebuffer bugfixes, sanity checksWilliam Wilgus7-24/+55
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-31Test_Viewports BUGFIXWilliam Wilgus1-4/+33
putting a framebuffer on the stack is never a good idea Added comments Change-Id: I5553050785b74cb847db03957c6377cab11e816c
2020-10-31fix red introduced in the android pcm driver (rev fe2d52c)Solomon Peachy1-1/+1
Change-Id: I2fa160fd39842a5434cf11573b50061786e610ca
2020-10-31pcm: Get rid of pcm_play_pause() and associated APIsSolomon Peachy35-388/+20
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-30iriver_flash: fix issues with DoUserDialogJames Buren1-8/+10
First the argument should be const since the original parameter is. Second the pointer arithmetic for detecting whether rockbox is running from ROM or not is incorrect. It ends up being at a location twice as far as intended since the arithmetic does not account for the pointer type's underlying size. It should also be dependent on the target's FLASH_SIZE. Third the LCD setup is moved to the entry point since it is the best place to setup and restore the LCD changes. Change-Id: If9ddaf2cd937f1edf61c82a8a27f48d01807068a
2020-10-30iriver_flash: make most remaining functions staticJames Buren1-10/+6
This increases opportunities for optimizations as well. Change-Id: I4105990d7d1fca93c735762721cfc293973c5344
2020-10-30iriver_flash: revise valid_bootloaders and detect_valid_bootloaderJames Buren1-20/+16
The main change is revising how the checksums are guarded by macros. But both are also converted to static linkage so they can be better optimized by GCC. I also change the types around to reflect how the space the data types actually need. Furthermore I make use of C99 changes to how variables can be declared to move them closer to where they are used. Change-Id: I0b21b655f3f4a7c4bbd4365a384a551e75451159
2020-10-30iriver_flash: revise load_firmware_file functionJames Buren1-15/+46
This moves the checksum into the local stack and turns the second parameter into an optional argument. This also reads the model segment that was previously unused so it can also be checked as an extra safeguard in the event the checksum somehow matches yet the model is incorrect. Change-Id: I9a8c2d731e4f1818e6e4aee3c3978777c16ccf19
2020-10-29Fix volume handling of steps in radioAmaury Pouly1-2/+2
Change-Id: I6d91c5ebc90f9303c71005f3b954df3a101ab732
2020-10-29Volume adjustment in LISTS ignored AUDIOHW_SETTING valuesJohannes Rauh1-3/+4
AUDIOHW_SETTING() defines number of decimals and step size. This is taken into account in sound menu but ignored in lists (had been recently fixed in WPS). This was not a problem so far since all drivers used 0 decimal places and step size equal 1. Change-Id: I8807d5b6f2f3d412a2bc5769905bd776553ece0b
2020-10-29iriver_flash: revise cfi_read_id and cfi_get_flash_infoJames Buren1-66/+38
First neither of these functions can fail on supported targets so they have become void functions. Their return values were not being used anyway. Second support for other flash chips not even used on the supported targets has been removed. It appears they were only ever used on the discontinued Arch devices. Third cfi_read_id was restructured to remove obsolete code for error checking that is not necessary at all. The datasheets appear to indicate that the commands used cannot fail. Fourth cfi_get_flash_info was restructured to use a new approach to initializing the flash_info struct. It no longer initializes the structure twice. Fifth the relevant code has been updated to use the full 16 bits that are exposed by the flash rom ID interface. Change-Id: I25b1ada3d4621e2d80ac66d3d9a964964268cb3b
2020-10-29rbutil: More Qt6 compatibility.Dominik Riebeling3-1/+5
Qt6 doesn't contain QTextCodec anymore but instead provides it in the optional core5compat module. Change-Id: Ia45985a32df3826faf041981b8935c839946e5c9
2020-10-29rbutil: Simplify search.Dominik Riebeling1-1/+1
No need to get keys from the map to search a key, we can check directly. Change-Id: Ia96286e441c3d03864bd7b152065576d26acad87
2020-10-29rbutil: More Qt6 compatibility.Dominik Riebeling1-1/+1
Replace QProcess::pid() which has been replaced with QProcess::processId() starting with Qt5.3 and removed from Qt6. Change-Id: I9b2d38f8e490e2e4c0afb5cbb409f6a17a98efbd
2020-10-29rbutil: Remove unused assignment.Dominik Riebeling1-1/+0
Change-Id: I6445e13472ae856acda1890056fd933d7d810bd5
2020-10-29iriver_flash: rewrite how the flash commands wait for the ROMJames Buren1-24/+30
This uses the toggle bit method referenced in the datasheets for the supported ROM chips and moves the code to a reusable subroutine. It also introduces a short delay to give the bus a chance to recover. The older ROM datasheet doesn't mention this delay as necessary but the newer one does so it now does this for both. Change-Id: Ie9dc8833bbd3ee545072b0c724ab220d13208d3d
2020-10-28Fix display regression from c85d8e2William Wilgus1-2/+9
Basically setting a null buffer is valid but it must be selected into a screen to initialize to the default buffer I wrongly assumed screen type wouldn't matter but since I decided to reference backdrops directly to the default buffer (since they are saved as an offset from what it later assumes to be the default framebuffer) SCREEN_MAIN/SCREEN_REMOTE are not longer optional Change-Id: I8a8afbbe1e3ed0bfe6abd40ce287638e9fc6da60
2020-10-28fix checkwps build (introduced in a5a8e00)Solomon Peachy1-1/+2
Change-Id: Ibc8bced6721b3711e465320a537e15244b2b11b2
2020-10-28Fix a crash introduced in a605cdf70Solomon Peachy1-3/+5
Pretty subtle problem; looks like the skin core was relying on a destructor to actually help initialize things. Change-Id: Ieb4b9e4f11377dec7be61d13759590fc5f4bc921
2020-10-28Fix statusbar display regression from a605cdf700Solomon Peachy1-6/+6
Change-Id: I4d02ac28e05080458eea6e3f52498321199ecbd3
2020-10-28Framebuffer_viewport Rewrite -- BUG FIXWilliam Wilgus3-22/+21
stride was not initialized for the skin_viewport fixed a few other questionable areas Change-Id: I9cc7830a4406857bf3aba26a328c288e3702cddd
2020-10-28Fix multiple potential null pointer dereferencessSolomon Peachy8-88/+160
GCC's optimizer thinks all of these _will_ fail at some point Change-Id: I287eeb574162a5d3b3347654d25aa1f53e9f5563
2020-10-28libgme: Fix yellow in hosted MIPS buildsSolomon Peachy1-0/+1
Change-Id: I6d25c014cc519ddc5d1619c25d48331f512c2f2f
2020-10-28builds: Enable -fno-delete-null-pointer-checks globallySolomon Peachy1-1/+1
* arm failures in lua, wolf3d, quake, flac * m68k failures in lua, wmapro * mips ??? I still think that most of these are actually due to latent bugs or ambiguous code. Change-Id: I4c9751d2b5c7a66253b313bfbc75fcd721b118d6
2020-10-28wmapro: Backport multiple fixesSolomon Peachy1-39/+91
upstream commits: 780d454 b28c678 9166f48 97a5add b21ba20 f734671 b86dd1 b4027d9 50f0a6b 4c0080b c7a7605 5dcb990 7ad698e Change-Id: I8e6d74316e1eaf22217a57ddb54c1ea8303e6788
2020-10-27dircache: Fix a NULL pointer dereferenceSolomon Peachy1-1/+2
if idx == 0, get_idx_dcvolp() will return NULL. Change-Id: I4eafa71bb1f77ef8c865570bf8f124cdd9326d3e
2020-10-27iaudiom5: Fix build.Solomon Peachy1-1/+4
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-27iriver_flash: make cfi_read_id use FB directlyJames Buren1-12/+10
Change-Id: Id747b0846515443871a0df10d83e3b1fc4731e7c
2020-10-27iriver_flash: remove trailing whitespacesJames Buren1-96/+96
Change-Id: I5f32ba177a2ca559768e621bbad1d896c9adcafa
2020-10-27coldfire: We need -fno-delete-null-pointer-checks in flash controller codeSolomon Peachy1-0/+5
Change-Id: I9a3e4ced2c3d41f6a31a968af72659a1a14f702e
2020-10-26iriver_flash: we need -fno-delete-null-pointer-checksSolomon Peachy1-0/+7
Change-Id: I36bbfc81d9cb79a9627e5ba7ee50e1305f54848b
2020-10-26statusbar: Make statusbar height equal SYSFONT_HEIGHTSolomon Peachy6-28/+31
And size elements horizaontally based on SYSFONT_WIDTH Unfortunately we need 16px icons to make 16px statusbar look right but at least it _works_ properly now. Also: all targets currently use 8-px SYSFONT, except some hosted bootloaders Change-Id: I0cdf97e6ef47ec49693ef79667b200595b4fe075
2020-10-26'Fix RED e200 Framebuffer_viewport_rewriteWilliam Wilgus2-15/+23
Free malloc in checkwps too Change-Id: I2b8fcbc94beb0644b643d3b7a9cb53bc26fc8a51
2020-10-26FIX RED Framebuffer_viewport_rewriteWilliam Wilgus2-1/+8
Change-Id: I716929fbee48bef68d7383efb944f9d491fdfe4d
2020-10-26FIX RED framebuffer viewport rewriteWilliam Wilgus3-6/+9
Change-Id: I4cb8f580e15440d06f8d5fabb2fbf5147c67b49c
2020-10-26FIX RED/YELLOW framebuffer viewport rewriteWilliam Wilgus2-8/+11
Change-Id: Icfd3b00b646c593991f73550d8a316a80e5930a1
2020-10-26Whitespace cleanup on fb_viewport RewriteWilliam Wilgus26-348/+348
Change-Id: I24aac41c8abecf7b78a44d7f59e842b791be4563
2020-10-26LCD core move buf ptr and address look up function viewport structWilliam Wilgus74-967/+1595
I'm currently running up against the limitations of the lcd_draw functions I want these functions to be able to be used on any size buffer not just buffers with a stride matching the underlying device [DONE] allow the framebuffer to be decoupled from the device framebuffer [DONE need examples] allow for some simple blit like transformations [DONE] remove the device framebuffer from the plugin api [DONE}ditto remote framebuffer [DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr while remote lcds may compile (and work in the sim) its not been tested on targets [FIXED] backdrops need work to be screen agnostic [FIXED] screen statusbar is not being combined into the main viewport correctly yet [FIXED] screen elements are displayed incorrectly after switch to void* [FIXED] core didn't restore proper viewport on splash etc. [NEEDS TESTING] remote lcd garbled data [FIXED] osd lib garbled screen on bmp_part [FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport [FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer [FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw) [UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear scrolling viewports no longer trigger wps refresh also fixed a bug where guisyncyesno was displaying and then disappearing [ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes (LCD_ and LCD_REMOTE_) LCD_STRIDE(w, h) same as STRIDE_MAIN LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH) test_viewports.c has an example of usage [FIXED!!] 2bit targets don't respect non-native strides [FIXED] Few define snags Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26make the plugin API frambuffer agnosticMoshe Piekarski25-93/+92
Change-Id: I5abdc231093054c517ff53b9a456997e440e3f6e
2020-10-26statusbar: Respect 'numdecimals' when displaying the volume settingSolomon Peachy1-9/+12
eg with numdecimals=1, a value of "-300" actually means "-30.0" So divide it down appropriately, and only display the whole integer portion. Change-Id: I62927d2e64b224f3c11640b9bb9e84d60dbde34b
2020-10-26sonynwz: A10 and A20 series support high bitratesSolomon Peachy1-1/+1
Change-Id: I6b33368ed5d7800b79dafbb736e6ed079accbd25
2020-10-26iriver_flash: correctly calculate when to stop erasing the bootloaderJames Buren1-1/+1
It was originally hard-coded at 0x200 which is 512 sectors. This only works for the H100 and H120. The larger ROM of the H300 is 1024 sectors in size. In either case the bootloader starts 16 sectors before the end of the ROM so rely on this fact to correctly calculate where to stop the bootloader erasure. Change-Id: Iec4112ebf24379f80a7bf1363035e005c434907e
2020-10-26h300: add support for ROM image generationJames Buren3-1/+10
Change-Id: I6e0985de370609bae98ba6eab487bf43eb4191b6
2020-10-26rocker: Disable mute-on-pause, due to a platform kernel bug.Solomon Peachy2-2/+9
In short, the display fading back in after a pause resuming interferes with the audio codec, causing BadThings(tm) that cannot be recovered from This really is just avoiding a known trigger; there's no guarantee this condition won't occur under random circumstances during normal use, and there's no good way to work around this from within rockbox. I suspect the underlying problem is that both the display control and codec control share an i2c bus, but the kernel drivers implementing them isn't using proper linux bus access/locking. Change-Id: Id4f56f9cb269ed74aac2f041146b3630cef09030
2020-10-26coldfire: make the RAM and ROM image locations configurable by macrosJames Buren6-10/+15
Change-Id: Ie27e39c34947b0391be621dafb8711c44e863a1c
2020-10-26h300: enable support for iriver_flashJames Buren3-5/+12
This also modifies the configuration file to include macros defined in the H100 / H120 implementation. Change-Id: Iae845889c98661ec548c04fc57e733dcc346c0f1