Enable options required for the Android 11 image inside waydroid:
* CONFIG_BPF_SYSCALL
* CONFIG_CGROUP_BPF
* CONFIG_PSI (already set for this kernel)
* not CONFIG_PSI_DEFAULT_DISABLED (already set for this kernel)
The same will be done for all devices in main and community in the
following patches. Also add V=1 for all kernels I'm modifying that are
below 6.2 (see issue 1990).
Kernel configuration addition:
Just like on the PinePhone Pro I 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.
Signed-off-by: Jan Jasper de Kroon <jajadekroon@gmail.com>
[ci:skip-build] already built successfully in CI
linux-postmarketos-omap now supports the Nokia N900 and its OMAP3430 SoC, so
drop this device-specific fork
[ci:skip-build] already built successfully in CI
Switch from armhf to armv7
- Apart of the usual stuff CONFIG_CRYPTO_AES_ARM_BS must be disabled
otherwise it breakes kernel compilation with some weird assembler error
Netboot
- CONFIG_BLK_DEV_NBD=y enables /dev/nbd support
- nbd.max_part=16 kernel parameter must be added otherwise it's zero
which causes that kpartx cannot create partitions
[ci:skip-build]: Already built successfully in CI
Also enable support for LIRC and /dev/uinput.
Signed-off-by: Ferass El Hafidi <vitali64pmemail@protonmail.com>
[ci:skip-build]: Already built successfully in CI
Remove maintainers who could not be reached to test v22.12. Add exkc as
maintainer for firmware-pine64-rockpro64 as discussed in review of this
patch.
[ci:skip-build]: already built successfully in CI
- upgrade to 6.2.1
- drop musb patch (not needed since linux mainline commit
ffbe2feac59b37c8dc536727552b4f375e1b9aec)
- enable LRU_GEN
[ci:skip-build]: Already built successfully in CI
The modesetting driver previously provided by xf86-video-modesetting is
now shipped with xorg-server.
[ci:skip-build]: already built successfully in CI
From what I can tell, the package firmware-samsung-on7-wcnss-nv should
have been put as dependency since the on7lte package doesn't exist, and
I can't seem to find a trace of it.
[ci:skip-build] already successfully built in CI
Include adsp, cdsp and slpi firmware and add the linux-firmware-qca
dependency for qca6390-bt.
Also correct the module name for spi-geni-qcom in deviceinfo.
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
According to Purism, PM on the Sparklan WiFi module works now with
recent kernels, the upstream bug referenced earlier (see diff) was
closed.
Note that this has no effect on the Redpine WiFi module, which is the
default module shipped with the L5.
[ci:skip-build] already built successfully in CI
This is more of a version bump, compared to the past few releases. This
kernel should receive more of these types of releases, especially when
there is less hardware left to bring up.
[ci:skip-build] already built successfully in CI
Includes changes that might improve modem stability (with resetting,
that is...), and some ucm tweaks.
Changelog from upstream:
1b154d9316/debian/changelog
[ci:skip-build] already built successfully in CI
Installing wys and anything else on all gnome-related UIs is better than
just having a special case for phosh. Phosh should pull in
pmos-base-ui-gnome.
Let the user select between two kernel variants using the different
device trees for the different panel variants (ea8061 and s6evr02)
[ci:skip-build]: Already built successfully in CI
Add a driver for the Magnachip EA8061 panel found on some Samsung
Galaxy Note II devices. Split the device trees into two (one for devices
with the already supported S6EVR02 panel and one for the new EA8061
panel).
Note: I didn't write this driver myself. Just like the old S6EVR02
driver, it has been ported from https://github.com/fourkbomb/linux
to the latest mainline Linux version.
According to
https://source.puri.sm/Librem5/linux/-/issues/303#note_160864 enabling
the modem power management results in a unreliable modem, but more power
savings.
With power management on the modem can disconnect at any time,
including during calls. This makes the Librem 5 a very bad phone.
Instead let's ensure it works as a phone with a semi-reliable modem
(there is still the sleep/resume issue
https://source.puri.sm/Librem5/linux/-/issues/423) at the cost of
battery life.
As the Librem5's battery life is already poor, a little bit worse
isn't much different. Either way you need an external battery pack.
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build] already built successfully in CI
I unset CONFIG_ARM64_PTR_AUTH_KERNEL because the i.MX 8 CPU in the
Librem 5 doesn't support features from ARMv8.1-A and above anyway.
Same rationale applies to CONFIG_ARM64_TLB_RANGE being unset.
The google-dru package provides the linux-postmarketos-rockchip as a
kernel and supports linux-firmware-ath10k linux-firmware-rockchip
packages as additional non-free firmware.
Enable the ATH10K kernel module in the kernel config
config-postmarketos-rockchip.aarch64 to enable wifi on devices such as
the Acer Chrometab 10.
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[ci:skip-build]: already built successfully in CI
Add the missing kernel.release file to support packaging and fix builds
with:
`pmbootstrap build --envkernel linux-postmarketos-rockchip`
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This port has been compatible with GPU-accelerated UIs like Phosh and
Plasma Mobile for quite a while now. Enable these UIs in the
`pmbootstrap init` menu.
See #1939.
This enables the DRAM frequency stats driver that can be useful for debugging
issues with the PinePhone. This came up in a discussion in #pinephone on IRC
where megi was helping a pmos user with idle power draw issues.
This also enables the performance, powersave and userspace devfreq governors.
Ref: 8bfd4858b4
[ci:skip-build]: already built successfully in CI
Store the full kernel config instead of a fragment, so
"pmbootstrap kconfig check" can properly verify that all required kernel
options are there. Without this, it would fail an upcoming check for
BINFMT_ELF and BINFMT_SCRIPT:
https://lists.sr.ht/~postmarketos/pmbootstrap-devel/patches/38508
With the full config, pmbootstrap found that ANDROID_PARANOID_NETWORK
was enabled while it should be disabled, so disable it.
Fix the mediatek drvgen related build failure with
00_disable_drvgen.patch from linux-wiko-ufeel and including cust.dtsi:
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device#Removing_python2_dependency
[ci:skip-build]: already built successfully in CI
This gets rid of the Tux army on bootup. While it hurts my soul,
removing Tux from bootup makes it less flickery.
[ci:skip-build]: already built successfully in CI
6.1 was not a valid kernel version causing the wlan module installed
into wrong location. 6.1.0 would be correct. Fix that
problem by upgrading to 6.1.12 and make the wlan installation
more robust.
[ci:skip-build]: already built successfully in CI
Add a generic device that should work on x86_64 ChromeOS devices. This
is mostly a copy of tablet-x64uefi, with ChromeOS-specific stuff from
google-kevin. Keeps the UEFI parts so that it can still be booted with
alternative firmware (i.e. MrChromebox's RW_LEGACY builds). Lightly
tested on a Lenovo IdeaPad 3 Chromebook 11IGL05 (codename "Lick").
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Also added: 0013-media-ov5640-Update-last-busy-timestamp-to-reset-aut.patch
This solves bug of taking greenish pictures with Megapixels, due to
sensor being shutdown to early after taking a picture.
[ci:skip-build]: already built successfully in CI
linux-postmarketos-mediatek-mt6735 6.1.9 added full display support and hardware acceleration
as well as haptics. Add a phoc configuration file to set the display scale, and a feedbackd
theme to optimize vibration durations. Route console output to UART to leave the splash
screen clean and to help with debugging when necessary.
[ci:skip-build] already built successfully in CI
If the wlan0 interface is rfkilled down on boot, WiFi won't work until reboot.
It seems that quickly ifconfig'ing wlan0 up and down in sysinit is enough to work around the bug.
[ci:skip-build] already built successfully in CI
Since re-crypt was finished now all T20/T30 devices
can be switched to use generic u-boot approach
and mount eMMC as external storage to host PC.
Unfortunately or fortunately this deprecates
any Android use on device. Have fun!
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Change-Id: Ia140302bb4d309740db85a36374673a6e66c2c2b
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build]: Already built successfully in CI
Changes to defconfig:
* Disable legacy usb gadgets (USB_ETH and friends)
* Enable Multi-Gen LRU (LRU_GEN)
[ci:skip-build]: already built successfully in CI
Bring up support for Samsung T110 Goyawifi.
Working: Display (framebuffer), touchscreen, buttons and Wi-Fi.
Include: kernel source and necesarry firmware for Wi-Fi and Bluetooth.
samsung-goyawifi: fix patch names
samsung-goyawifi: remove mesa-dri-gallium
samsung-goyawifi: fix keyboard in deviceinfo
samsung-goyawifi: fix lightdm
samsung-goyawifi: editor-config ci tabs
samsung-goyawifi: add linux kernel as depends
[ci:skip-build]: Already built successfully in CI
Add the firmware for the CyberTan WC121.
Configuration is added in the newest firmware-linux release, so
complete support will appear in the corresponding Alpine package soon.
[ci:skip-build]: already built successfully in CI
Protect script when ram_freq is not set
Safely load PSCI DTO to enable CPUidle driver: psci_idle
The PSCI DTO shall only be applied if TF-A & Crust
support CPU idle states [0]. Otherwise the CPU usage
will be at 100%. This will not be visible in top,
lead to overheating and battery drain.
Worst case scenario would lead to a fried chip if
the CPU thermal_zone does not work or is not enabled
in DTS.
[0] https://gitlab.com/postmarketOS/pmaports/-/issues/1901#note_1238456920
I have enough other devices to care about, and honestly haven't touched
my PinePhone in a while. Remove myself as Co-Maintainer from all
relevant packages.
[ci:skip-vercheck]: No rebuild necessary
[ci:skip-build]: Doesn't change resulting packages
This wifi module doesn't ship with the L5, but I have one because it's
generally more stable than the redpine thing that does ship with the
L5... however there's a known problem with having PM enabled on it.
This adds a NM config option, that matches specifically on this
device/driver, to disable wifi. PM for the redpine should not be
affected by this config change.
[ci:skip-build] already built successfully in CI
For a merge list, please see the merge commits:
- 6.1.1 - (5ed7044b05)
- 6.1.2 - (ec165d9c01)
- 6.1.3 - (3735d5032c)
Change-Id: Id46e827a90a9c68cb69d23dc0698a8ea2a5e4336
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
[ci:skip-build] already built successfully in CI
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
Make use of stock depthcharge bootloader to not deal with U-Boot issues:
- broken USB
- broken eMMC
- broken latest version of U-Boot
Use extlinux instead of Grub for users with U-Boot to simplify process.
Also, some of old U-Boot builds may not support EFI.
[ci:skip-build] already built successfully in CI
New features:
* msm8994-huawei-angler: Add sdhc1 definition (internal SD card).
Backporting 3 patches:
* 0001-arm64-dts-msm8992-bullhead-add-memory-hole-region.patch
fixes bullhead boot since 6.0-rc1, already in qcom tree
* 0002-arm64-dts-qcom-msm8992-bullhead-Fix-cont_splash_mem-.patch
memory fix, likely to be merged
* 0003-arm64-dts-qcom-msm8992-bullhead-Disable-dfps_data_me.patch
memory fix, likely to be merged
* 0004-arm64-dts-qcom-msm8992-Don-t-use-sfpb-mutex.patch
memory fix, likely to be merged
* 0005-arm64-dts-msm8994-angler-fix-the-memory-map.patch
fixes angler reset during starting services in rootfs,
likely to be merged
Remove all backported commits from newer versions.
While at it, remove various CONFIG_NET_VENDOR_.* and
CONFIG_MSM_.* and CONFIG_.*_QCOM_.* for other SOCs.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[ci:skip-build]: already built successfully in CI
Shared SoC package for MSM8909
Currently provides a dummy soc-qcom-msm8909 package that depends on
soc-qcom-msm8916 and a soc-qcom-msm8909-modem package for modem support.
Since the RTC like on most Qualcomm chips is read-only, use
swclock-offset package to fix up time after boot.
And since we don't need msm-fb-refresher on mainline, move it to the
downstream kernel subpackage.
Basic support for the Kobo Libra H2O ebook reader.
Waveform handling shares the same oddities as for the Kobo Clara HD, the
existing waveform from eMMC is used.
Preferred way to install is to export the eMMC as USB Mass storage,
backing it up, and installing there.
U-Boot is a more recent one than the factory u-boot, supporting easy
access for buttons/LEDs. Pressing PageUp while powering on gives you the
possibility to enable USB mass storage mode to restore your backup.
Kernel is the near mainline kernel also used by the Kobo Clara HD.
It lacks some devicetree additions which are planned for the next
update, but basic things like buttons, usb, serial and wifi are
supported.
* lock.sh is specific to Nokia N900, so move to device-nokia-n900
* use tinydm instead of lightdm
Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
[ci:skip-build]: already built successfully in CI
Backport the Purism patch from https://source.puri.sm/Librem5/linux/-/merge_requests/640
"With this patch, older revisions (2.0) should be able to switch between
166MHz and 800MHz as opposed to being stuck to 800MHz all the time, since
that was the only supported frequency in the OPP table."
Signed-off-by: Alistair Francis <alistair@alistair23.me>
[ci:skip-build] already built successfully in CI
The WCNSS firwmare used for motorola-harpia seems to have weird issues
that prevent using WiFi properly except for a few limited channels. It
is not clear why this happens, it seems to be some peculiar firmware
difference (perhaps the channels need to be enabled with some
non-standard command).
Since Motorola uses the same signing keys for all their MSM8916
devices, it is possible to use the firmware from other devices instead.
Initial testing shows promising results when using the older WCNSS
firmware from motorola-osprey instead, it does not seem to have this
issue.
It's not clear yet if this has any negative effects. The WCNSS firmware
should not be device-specific, but theoretically it could be (if
Motorola made some weird changes inside it).
For now just package it in firmware-motorola-osprey-wcnss. This package
can be easily installed on harpia devices for testing (using apk add)
and will then take precendence over the default firmware from the
firmware partition (via msm-firmware-loader).
Move firmware-motorola-osprey from testing to community so that the
package is preserved for motorola-harpia users (testing is deleted in
stable branches).
[ci:skip-build]: already built successfully in CI
motorola-osprey can generally use the firmware from motorola-harpia
(which is a bit newer). However, the WCNSS_qcom_wlan_nv.bin is usually
device specific (it contains some kind of calibration values for
WiFi/BT).
The file packaged in firmware-motorola-osprey-wcnss-nv is identical to
the file in firmware-motorola-harpia-wcnss-nv. However, It looks a bit
like this might be a mistake in the source repository
(https://github.com/pmsourcedump/firmware-motorola-osprey). The
wlan/prima folder there is completely identical to the one used for
motorola-harpia, but the stock ROM and LineageOS use different files.
Fix this by packaging the file from TheMuppets. Also modernize the
firmware-motorola-osprey package by applying pil-squasher to the
venus/video firmware.
motorola-osprey has a very clunky name at the moment "Motorola Moto G
3rd gen. (2015)". The device was mostly just called "Motorola Moto G"
by Motorola, so it is hard to choose a fitting (but unique) name.
In the postmarketOS wiki it is called "Motorola Moto G 2015" so let's
just drop the "3rd gen." in the pmOS device package as well.
Also make the deviceinfo consistent with harpia while at it.
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
Note: This is only a change in the aarch64 configuration as the armv7 configuration already used the schedutil scheduler as default.
[ci:skip-build]: Already built successfully in CI