Kernel configuration addition:
Enabled the newly added Lazy RCU scheduler.
RCU_LAZY can help battery-powered systems like the PinePhone Pro in a few ways:
1. Reduced CPU usage: Because RCU_LAZY allows readers to access shared data structures without acquiring locks or other synchronization primitives,
it reduces the amount of CPU time that is required to manage synchronization. This can be particularly beneficial in battery-powered systems,
where reducing CPU usage can extend battery life.
2. Reduced memory usage: RCU_LAZY delays the creation of multiple versions of the shared data structure until they are actually needed.
This reduces the amount of memory that is required to store these versions.
In battery-powered systems, where memory usage can be a critical resource, this can help to conserve power.
3. Reduced synchronization overhead: RCU_LAZY reduces the overhead of synchronization by delaying the creation of multiple versions of the shared data structure.
This can reduce the amount of time that is spent acquiring and releasing locks or other synchronization primitives,
which can help to conserve power in battery-powered systems.
[ci:skip-build]: already built successfully in CI
Schedutil is a CPU scheduler that is designed to be more efficient than other schedulers, such as the conservative scheduler, in terms of energy consumption.
This is because schedutil uses information about the utilization of individual CPU cores to make more intelligent decisions about when and how to scale the frequency of the CPU.
This can help to reduce the overall power consumption of the device, which can be particularly beneficial for battery-powered devices.
Additionally, schedutil can also help to improve the overall performance of the device by ensuring that the CPU is able to operate at its maximum frequency when needed.
In my personal testing I haven't seen any noticable impact on power consumption, while the performance does certainly noticeably increase
[ci:skip-build]: Already built successfully in CI
Fix included in this build:
- Patch which sets GPIO pin for stk3311 as input
- ppp: don't reset 'display state of charge' (dsoc) to 0 on vbat low interrupt
[ci:skip-build]: already built successfully in CI
CONFIG_USB_GADGET=y
CONFIG_USB_DWC3_DUAL_ROLE=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_DWC2=y
remove un-necessary activated configs
[ci:skip-build]: already built successfully in CI
- Also enabled LRU_GEN by default like on the PinePhone OG
- Set Ext4 module to built-in as this currently is the main fs used for PPP.
Contains the following patch:
- pinephone pro: finished fix for LCD to make it refresh at precisely 60 Hz
[ci:skip-build]: already built successfully in CI
Add the CONFIG_DW9714 symbol to the PinephonePro defconfig.
The PinephonePro rear camera module uses the DW9714 VCM to drive the
lens, and a driver is required to successfully complete the media
graph probe sequence.
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
These are the patches added to mitigate the CVE's which have been found in wifi stack.
More information on these CVE's can be found over here: https://seclists.org/oss-sec/2022/q4/20
[ci:skip-build]: Already built successfully in CI
Replace usages of pmb:kconfigcheck-* options with
pmb:kconfigcheck-community which will be required for all devices in
community/main category. This ensures more consistent features &
behavior across devices.