Tags give the ability to mark specific points in history as being important
-
efi-core-2021-08-30
1be72c8e · ·A handful of EFI changes for this cycle: - EFI CPER parsing improvements, - Don't take the address of efi_guid_t internal fields Signed-off-by: Ingo Molnar <mingo@kernel.org>
-
-
perf-core-2021-08-30
6a371baf · ·Perf events changes for v5.15 are: - Add support for Intel Sapphire Rapids server CPU uncore events - Allow the AMD uncore driver to be built as a module - Misc cleanups and fixes Signed-off-by: Ingo Molnar <mingo@kernel.org>
-
x86_cache_for_v5.15
111136e6 · ·- A first round of changes towards splitting the arch-specific bits from the filesystem bits of resctrl, the ultimate goal being to support ARM's equivalent technology MPAM, with the same fs interface (James Morse)
-
x86_build_for_v5.15
08155126 · ·- Remove cc-option checks which are old and already supported by the minimal compiler version the kernel uses and thus avoid the need to invoke the compiler unnecessarily. - Cleanups
-
ras_core_for_v5.15
3bff147b · ·- Do not start processing MCEs logged early because the decoding chain is not up yet - delay that processing until everything is ready
-
sched-core-2021-08-30
b542e383 · ·Scheduler changes for v5.15 are: - The biggest change in this cycle is scheduler support for asymmetric scheduling affinity, to support the execution of legacy 32-bit tasks on AArch32 systems that also have 64-bit-only CPUs. Architectures can fill in this functionality by defining their own task_cpu_possible_mask(p). When this is done, the scheduler will make sure the task will only be scheduled on CPUs that support it. (The actual arm64 specific changes are not part of this tree.) For other architectures there will be no change in functionality. - Add cgroup SCHED_IDLE support - Increase node-distance flexibility & delay determining it until a CPU is brought online. (This enables platforms where node distance isn't final until the CPU is only.) - Deadline scheduler enhancements & fixes - Misc fixes & cleanups. Signed-off-by: Ingo Molnar <mingo@kernel.org>
-
x86-misc-2021-08-30
a729691b · ·A set of updates for the 86 reboot code: - Limit the Dell Optiplex 990 quirk to early BIOS versions to avoid the full 'power cycle' alike reboot which is required for the buggy BIOSes. - Update documentation for the reboot=pci command line option and document how DMI platform quirks can be overridden. -
x86-irq-2021-08-30
34739a28 · ·A set of updates to support port 0x22/0x23 based PCI configuration space which can be found on various ALi chipsets and is also available on older Intel systems which expose a PIRQ router. While the Intel support is more or less nostalgia, the ALi chips are still in use on popular embedded boards used for routers.
-
x86-cpu-2021-08-30
b7fe54f6 · ·A reworked version of the opt-in L1D flush mechanism: A stop gap for potential future speculation related hardware vulnerabilities and a mechanism for truly security paranoid applications. It allows a task to request that the L1D cache is flushed when the kernel switches to a different mm. This can be requested via prctl(). Changes vs. the previous versions: - Get rid of the software flush fallback - Make the handling consistent with other mitigations - Kill the task when it ends up on a SMT enabled core which defeats the purpose of L1D flushing obviously -
timers-core-2021-08-30
d25a0252 · ·Updates for timekeeping, timers and related drivers: Core code: - Cure a couple of incorrectness issues in the posix CPU timer code to prevent that the tick dependency for NOHZ full is kept alive for no reason. - Avoid expensive double reprogramming of the clockevent device in hrtimer_start_range_ns(). - Avoid pointless SMP function calls when the clock was set to avoid disturbing CPUs which do not have any affected timers queued. - Make the clocksource watchdog test work correctly when CONFIG_HZ is less than 100. Drivers: - Prefer the ARM architected timer over the Exynos timer which is way more expensive to access. - Add device tree bindings for new Ingenic SoCs - The usual improvements and cleanups all over the place -
smp-core-2021-08-30
7625eccd · ·SMP core updates: - Replace get/put_online_cpus() in various places. The final removal will happen shortly before v5.15-rc1 when the rest of the patches have been merged. - Add debug code to help the analysis of CPU hotplug failures - A set of kernel doc updates -
locking-core-2021-08-30
a055fcc1 · ·Updates for locking and atomics: The regular pile: - A few improvements to the mutex code - Documentation updates for atomics to clarify the difference between cmpxchg() and try_cmpxchg() and to explain the forward progress expectations. - Simplification of the atomics fallback generator - The addition of arch_atomic_long*() variants and generic arch_*() bitops based on them. - Add the missing might_sleep() invocations to the down*() operations of semaphores. The PREEMPT_RT locking core: - Scheduler updates to support the state preserving mechanism for 'sleeping' spin- and rwlocks on RT. This mechanism is carefully preserving the state of the task when blocking on a 'sleeping' spin- or rwlock and takes regular wake-ups targeted at the same task into account. The preserved or updated (via a regular wakeup) state is restored when the lock has been acquired. - Restructuring of the rtmutex code so it can be utilized and extended for the RT specific lock variants. - Restructuring of the ww_mutex code to allow sharing of the ww_mutex specific functionality for rtmutex based ww_mutexes. - Header file disentangling to allow substitution of the regular lock implementations with the PREEMPT_RT variants without creating an unmaintainable #ifdef mess. - Shared base code for the PREEMPT_RT specific rw_semaphore and rwlock implementations. Contrary to the regular rw_semaphores and rwlocks the PREEMPT_RT implementation is writer unfair because it is infeasible to do priority inheritance on multiple readers. Experience over the years has shown that real-time workloads are not the typical workloads which are sensitive to writer starvation. The alternative solution would be to allow only a single reader which has been tried and discarded as it is a major bottleneck especially for mmap_sem. Aside of that many of the writer starvation critical usage sites have been converted to a writer side mutex/spinlock and RCU read side protections in the past decade so that the issue is less prominent than it used to be. - The actual rtmutex based lock substitutions for PREEMPT_RT enabled kernels which affect mutex, ww_mutex, rw_semaphore, spinlock_t and rwlock_t. The spin/rw_lock*() functions disable migration across the critical section to preserve the existing semantics vs. per CPU variables. - Rework of the futex REQUEUE_PI mechanism to handle the case of early wake-ups which interleave with a re-queue operation to prevent the situation that a task would be blocked on both the rtmutex associated to the outer futex and the rtmutex based hash bucket spinlock. While this situation cannot happen on !RT enabled kernels the changes make the underlying concurrency problems easier to understand in general. As a result the difference between !RT and RT kernels is reduced to the handling of waiting for the critical section. !RT kernels simply spin-wait as before and RT kernels utilize rcu_wait(). - The substitution of local_lock for PREEMPT_RT with a spinlock which protects the critical section while staying preemptible. The CPU locality is established by disabling migration. The underlying concepts of this code have been in use in PREEMPT_RT for way more than a decade. The code has been refactored several times over the years and this final incarnation has been optimized once again to be as non-intrusive as possible, i.e. the RT specific parts are mostly isolated. It has been extensively tested in the 5.14-rt patch series and it has been verified that !RT kernels are not affected by these changes. -
irq-core-2021-08-30
47fb0cfd · ·Updates to the interrupt core and driver subsystems: Core changes: - The usual set of small fixes and improvements all over the place, but nothing outstanding MSI changes: - Further consolidation of the PCI/MSI interrupt chip code - Make MSI sysfs code independent of PCI/MSI and expose the MSI interrupts of platform devices in the same way as PCI exposes them. Driver changes: - Support for ARM GICv3 EPPI partitions - Treewide conversion to generic_handle_domain_irq() for all chained interrupt controllers - Conversion to bitmap_zalloc() throughout the irq chip drivers - The usual set of small fixes and improvements -
core-debugobjects-2021-08-30
4bedcc28 · ·A single commit for debugobjects to make them work on PREEMPT_RT by preventing object pool refill in atomic contexts.
-
orange-pi-5.14-20210830-0334
0fa91c20 · ·Release: orange-pi-5.14-20210830-0334 NEWS ==== See also: - https://xnux.eu/log/ - https://xnux.eu/devices/pine64-pinephone.html - https://xff.cz/kernels/ KNOWN ISSUES: - You must use crust-firmware/arm-trusted-firmware and the latest crust with this kernel branch on PinePhone, otherwise cpuidle will cause your phone to overheat and consume too much power (4W+). The proper TF-A/crust build is already available in my p-boot repository, so if you use p-boot just update the fw.bin. smaeul: "all idle entry attempts will return PSCI_E_INVALID_PARAMS, and Linux isn't smart enough to stop trying without these patches: https://github.com/crust-firmware/arm-trusted-firmware/commits/d6ebf5dab2daab8" 2021-08-30: - rebase on v5.14 2021-08-19: - rebase on v5.14-rc6+ 2021-08-09: - rebase on v5.14-rc5 2021-07-31: - rebase on v5.14-rc4 2021-07-28: - rebase on v5.14-rc3+ 2021-07-20: - update defconfigs 2021-07-19: - rebase on v5.14-rc2 2021-07-12: - rebase on v5.14-rc1 - port cam drivers to 5.14 2021-07-01: - rebase on v5.14-pre-rc1 2021-06-29: - rebase on v5.13 2021-06-20: - rebase on linus/master (5.13-rc6+) 2021-06-16: - rebase on linus/master (5.13-rc6+) 2021-06-05: - rebase on linus/master (5.13-rc5) - add support for runtime calibration of minimum duty cycle of PWM backlight (until now it was hardcoded in device tree) - minimum brightness calibration instructions (default for lth_brightness is 10%, meaning is 'PWM duty cycle at the lowest brightness setting'): echo 1 > /sys/class/backlight/backlight/brightness echo 1 > /sys/class/backlight/backlight/device/lth_brightness echo 2 > /sys/class/backlight/backlight/device/lth_brightness echo 3 > /sys/class/backlight/backlight/device/lth_brightness ... increase values until you like the minimum brightness ... then make sure to restore this value after each boot by writing it to /sys/class/backlight/backlight/device/lth_brightness 2021-06-05: - rebase on linus/master (5.13-rc4+) 2021-05-31: - rebase on linus/master (5.13-rc4) - fix bluetooth initialization failure on TBS A711 and elsewhere by using CONFIG_SERIAL_8250_16550A_VARIANTS See: https://lkml.org/lkml/2021/5/30/107 2021-05-22: - rebase on linus/master (5.13-rc2+) - fix headset button handling and jack/mic plug in/plug out detection - should be much more reliable now 2021-05-21: - rebase on linus/master (5.13-rc2+) 2021-05-20: - rebase on linus/master (5.13-rc2+) - fixed up booting with fw_devlink=on (see fixes-5.13) - applied Samuel's time travel avoidance fix https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210515021439.55316-1-samuel@sholland.org/ - this should fix occasional stalls and system hangs - revert fine tuned OCV based capacity reporting, PMIC is not reporting OCV correctly so kernel has garbage input for the OCV -> capacity conversion and thus produces garbage output too (this stops large jumps in capacity when plugging in a charger and in general makes capacity reporting saner) - fixed "NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!" - wifi driver no longer prevents dynticks from working - improved (well..., added) suspend/resume code to anx7688 driver :) - fixes some issues caused by this driver ignoring the suspend/resume cycle 2021-05-09: - rebase on linus/master (pre 5.13-rc1) - replace old HDMI audio patches with the new HDMI sound card support from Jernej - cleanup compilation warnings 2021-05-07: - rebase on linus/master (pre 5.13-rc1) 2021-05-01: - fixed suspend failure of light/proximity sensor - raise the default minimum frequency for mbus devfreq governor (you can still lower it in sysfs for higher runtime power savings at the cost of some performance, see /sys/class/devfreq and tune it there for your distro) 2021-04-26: - rebase on 5.12 final - fixed behavior with dumb charger (DCP) being forced to 500mA on boot from anx7688 driver - disable lradc wakeup by default (lowers the power consumption in suspend) 2021-04-25: - rebase on linus/master - I've created a patch that disables touchscreen controller during system sleep reducing power consumption by about 40mW in sleep (and by 130mW when touching the screen in sleep) - before: https://megous.com/dl/tmp/0533207eed42258c.png - after: https://megous.com/dl/tmp/5d504d680415e2e3.png - those power spikes are touch controller checking if there's a finger touching the screen, and those dense spikes are when the finger is actually touching the screen - Added Samuel's DRAM downclocking patches 2021-04-19: - rebase on 5.12-rc8 2021-04-12: - rebase on 5.12-rc7 2021-04-09: - rebase on linus/master 2021-04-05: - rebase on 5.12-rc6 2021-04-01: - added patches from Samuel that implement cpuidle power savings on PinePhone (You also need to run the latest master of TF-A and crust firmware.) - rebased on top of linus/master 2021-03-22: - rebase on 5.12-rc4 2021-03-15: - rebase on 5.12-rc3 - enable interrupt on battery capacity low (wakeup the phone and notify power supply change, for userspace to gracefully handle this condition) 2021-03-11: - linus/master update 2021-03-09: - linus/master update 2021-03-04: - linus/master update (fixes FS corruption when using swapfiles) 2021-03-01: - rebase on 5.12-rc1 2021-02-23: - rebased on top of linus/master (5.12 cycle) - cleaned up compile errors 2021-02-20: - fix an7688 compilation on 32-bit ARM 2021-02-19: - added support for wake over wireless LAN (WoWLAN) - howto is in the 2021-02-18: - added USB_QUIRK_RESET for EG25G modem (https://gitlab.com/mobian1/devices/eg25-manager/-/merge_requests/5) 2021-02-15: - rebased on v5.11 final - fixed anx7688 fw flashing timeout - added Samuel's patches: - allow to use RTC wakeup when powered off - NVMEM driver for RTC data registers - pulled in some fixes from linux-next into fixes-5.11 - disable MMC runtime PM again (causes issues on H5/H6 https://megous.com/dl/tmp/1eec9b1c7f03ad93.png) - used nvmem reboot driver (suggested by Samuel in RFC patch) for rebooting to FEL, eMMC bootloader, various p-boot boot configs on either eMMC or SD card's bootfs filesystems, boot menu, etc. via reboot() syscall with extra arg (see LINUX_REBOOT_CMD_RESTART2) (p-boot is also updated to support this mechanism, as of 2021-02-15) 2021-02-08: - rebased on 5.11-rc7 2021-02-04: - rebased on linus/master 2021-01-30: - rebased on linus/master 2021-01-27: - tested on all my boards - make HDMI audio sound card initializa again on H3/H5 - fix rebase regression in stmmac driver that broke ethernet on PC 2 2021-01-25: - rebased on top of v5.11-rc5 - fix 8723cs bluetooth DT to load pinephone BT config file correctly (add -pinephone postfix) - fix a bunch of ASoC debugfs/bt-soc errors - remove some noisy logging - move mmc# aliases to SoC DT files to cover more boards - added gc2145 BGGR bayer mode patch (makes this kernel work with megapixels) - update Samuel's patches for irq-wakeup to v5 2021-01-12: - rebased on top of v5.11-rc3+ - update Samuel's patches (stmmac, i2c-pm, irq-wakeup) 2021-01-02: - rebased on top of v5.11-rc1+ 2020-12-14: - rebased on top of v5.10 - added patch to chnage Vbus hold voltage to 4.5V on Pinephone (this makes PD charging more stable) 2020-12-11: - rebased on top of linus/master 2020-12-07: - rebased on top of 5.10-rc7 2020-12-05: - modem power driver: add more powerup modes and change interface for dumb and fastboot powerup - you can now write 2, 3 or 4 to .../powered sysfs file to select differnt powerup mode from the normal one (1) - this is useful for selecting alternate userspace configurations early in boot to allow tracing the userspace processes from early on for reverse engineering, and in the near future, it will be used to switch between original and fully-FOSS userspace code running on the modem's APPS CPU on powerup - see https://xnux.eu/log/#028 2020-12-02: - fix WiFi blocking suspend - improve modem power driver interaction with kernel's autosleep - shorten resume times from 1.2s to 400ms (wifi driver optimization) 2020-11-30: - I improved the anx7688 driver to actually respect PD capabilities of the source, and don't overload it. This should make it more likely to work with the USB-C docks when docks are powered. - Pine64 dock can provide either 500mA when powered from regular USB-A charger (regardless of what kind of charger it is, it can't use more current from it) - With my 3A PD charger, Pine64 dock will advertise 2600mA and Pinephone will now respect this limit. - rebase on linus/master (5.10-rc6 atm) - increase I2C clock for sensors and touchscreen/anx7688 from 100kHz to 400kHz - added patch from https://patchwork.kernel.org/project/dri-devel/cover/20200222024210.18697-1-yuq825@gmail.com/#23237865 for easier GPU debugging (suggested by bshah) 2020-11-28: - rebased on linus/master - replaced my 60FPS fix with a more mainlineable and better working solution from Roman Beranek - disable 8723cs CONCURRENT_MODE, enable wifi 802.11z TDLS 2020-11-25: - enable wifi power saving mode (saves 350mW in idle, and doesn't seem to break the wifi so far) 2020-11-25: - added a new 2020-10 wifi driver and cleaned up to work with PinePhone - see wifi-5.10 branch - rebased on linus/master 2020-11-23: - rebased, added modem power blocking mode (p-boot privacy support) 2020-11-17: - drop ov5640 AF patch 2020-11-17: - rebase on linux/master - fix camera probe 2020-11-15: - rebase on linux/master - add "retain LED state in sleep" patch 2020-11-13: - fix boot failure on pocketbook (see https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg46288.html) 2020-11-13: - rebase on top of 5.10-rc3+ - update defconfigs 2020-11-10: - rebase on top of 5.10-rc3 2020-11-01: - added some musb suspend/resume fixes - fixed regulator probe on a711 - fix mmc device numbering - rebase on top of 5.10-rc2 2020-10-31: - rebased on top of 5.10-rc1+ - added ov5640 autofocus support from Martijn Braam (you'll need /lib/firmware/ov5640_af.bin) - added fix for DSI panel 36.6 FPS issue (myself) - import upstreamed variant of audio patches from Samuel 2020-10-25: - rebased on top of 5.10-rc1 2020-10-19: - fix orange pi 3 ethernet 2020-10-12: - fix issue with dsi clock described here: https://xnux.eu/log/#021 - rebase on v5.9 final - integrate pinetab panel patches from (untested) https://gitlab.com/pine64-org/linux/-/commits/pine64-kernel-5.7.y-pinetabpanel/ 2020-09-29: - add a few more codec API fixes from Samuel 2020-09-28: - rebase on top of 5.9-rc7 - integrated the newest audio patches from Samuel 2020-09-23: - port battery thermal regulation fix from p-boot (completely untested, see https://xnux.eu/log/#018) 2020-09-18: - cedrus panic fix - rebase on linus/master 2020-09-17: - further modem driver improvements (fix urc setting on old modem firmwares) 2020-09-13: - rebase on top of 5.9-rc5 2020-09-12: - rebase on top of 5.9-rc4+ 2020-09-10: - rebase on top of 5.9-rc4+ - further fixes for the modem driver poweron, support for fast poweroff feature present on new modem firmware - added flash DT changes - add mounting matrix and a kernel command line option to override it (ignore_mount_matrix) - https://xff.cz/kernels also contains special kernel builds for my multi-dist image (see https://xnux.eu/log/) - enabled opportunistic sleep - enabled btrfs support 2020-09-01: - rebase on top of 5.9-rc3 2020-08-19: - rebase and port to 5.9-rc1 - fix various issues with 5.9-rc1 - fix sleeps in atomic context in anx7688 driver - dropped panfrost dvfs patches for now (conflicts, stability issues) - fix modem UART issues on powerup (sometimes not receiving RDY, etc.) - root cause was host UART locking up due to noise on RX, and the fix is to only open UART port when the modem is powered 2020-08-11: - fix sun50i-codec-analog probe failure when built-in 2020-08-09: - pull in codec changes from Samuel - don't wait for RDY but poll with empty AT command for the modem's status 2020-08-06: - added Samuel's patch for making recording from the codec work again 2020-08-05: - modem driver fixes for BH 2020-08-03: - fixed AC100 driver to make it work without mod clock 2020-08-02: - integrated latest Samuel's audio patches + rebased my AC100 support on top - finished the modem-power driver into a hopefully useable state 2020-07-25: - rebased on top of 5.8-rc7+ - fixed modem driver issue with not shutting down the modem on poweroff/reset on PinePhone (introduced during modem driver rewrite around 5.8-rc5) - worked around AXP reseting input current limit to 500mA regardless of BC detection being disabled (happened on boot with USB-C cable connected to USB-C PD charger) (and reverted again) - improved modem driver - initialize the modem configuration for proper sleep - setup QDAI automatically from DTS - show modem firmware version in dmesg - added rfkill interface - handle URC caching during suspend 2020-07-16: - added HP jack detection patches from A-wai 2020-07-14: - added support for Pinebook Pro - fix issue in my bl_pwm PinePhone patch that broke Pinebook Pro's backlight 2020-07-13: - rebased on top of 5.8-rc5 - improved HW led trigger API - more modem-power work (change to serdev, recv messages from the modem) - support HDMI audio on PinePhone - bump PD power requirement to 15W on PinePhone 2020-07-08: - refactoring of the modem driver, moved to modem-5.8 branch (not finished yet, see TODO in the driver) - update pinephone 1.0-1.2 dts to reflect the differences in modem setup - enable orange pi 3 hdmi audio 2020-07-06: - rebased on top of 5.8-rc4 2020-07-05: - Added fixes for PinePhone panel initialization after resume from sleep 2020-07-04: - Integrated Clément's HDMI audio series (20200704113902.336911-1-peron.clem@gmail.com) - Integrated Clément's panfrost DVFS series (20200704102535.189647-1-peron.clem@gmail.com) My kernel's main integration branch is 'orange-pi-$VER' (this one). No other branch is supposed to work alone. My defconfigs are tested and work on the boards I support. Read the README.md for more info. Only my branches based on the current mainline kernel branch are maintained (those are usually the -rc# kernels!). You can find the current mainline version here https://www.kernel.org/ (mainline: ...) My prebuilt kernels can be found at https://xff.cz/kernels/ You can use them to test that your board works, or just run them without bothering with building everything yourself. I run them on all my boards. My website is https://xnux.eu and may contain useful advice. Good luck! ~megi -
orange-pi-5.13-20210830-0300
0e1afdc5 · ·Release: orange-pi-5.13-20210830-0300 NEWS ==== See also: - https://xnux.eu/log/ - https://xnux.eu/devices/pine64-pinephone.html - https://xff.cz/kernels/ KNOWN ISSUES: - You must use crust-firmware/arm-trusted-firmware and the latest crust with this kernel branch on PinePhone, otherwise cpuidle will cause your phone to overheat and consume too much power (4W+). The proper TF-A/crust build is already available in my p-boot repository, so if you use p-boot just update the fw.bin. smaeul: "all idle entry attempts will return PSCI_E_INVALID_PARAMS, and Linux isn't smart enough to stop trying without these patches: https://github.com/crust-firmware/arm-trusted-firmware/commits/d6ebf5dab2daab8" 2021-08-19: - pull in v5.13.12 2021-08-15: - pull in v5.13.11 2021-08-04: - pull in v5.13.8 2021-07-31: - pull in v5.13.7 2021-07-28: - pull in v5.13.6 2021-07-20: - disable cpuidle on H5 (avoids overheating when crust is not used) - pull in v5.13.4 2021-07-20: - fix defconfig for Orange Pi 3 (AXP now uses RSB bus) - pull in v5.13.3 2021-07-07: - fix compilation on 32 bit targets (incorporate patch from Stephane) - pull in v5.13.1 2021-06-29: - rebase on v5.13 2021-06-20: - rebase on linus/master (5.13-rc6+) 2021-06-16: - rebase on linus/master (5.13-rc6+) 2021-06-05: - rebase on linus/master (5.13-rc5) - add support for runtime calibration of minimum duty cycle of PWM backlight (until now it was hardcoded in device tree) - minimum brightness calibration instructions (default for lth_brightness is 10%, meaning is 'PWM duty cycle at the lowest brightness setting'): echo 1 > /sys/class/backlight/backlight/brightness echo 1 > /sys/class/backlight/backlight/device/lth_brightness echo 2 > /sys/class/backlight/backlight/device/lth_brightness echo 3 > /sys/class/backlight/backlight/device/lth_brightness ... increase values until you like the minimum brightness ... then make sure to restore this value after each boot by writing it to /sys/class/backlight/backlight/device/lth_brightness 2021-06-05: - rebase on linus/master (5.13-rc4+) 2021-05-31: - rebase on linus/master (5.13-rc4) - fix bluetooth initialization failure on TBS A711 and elsewhere by using CONFIG_SERIAL_8250_16550A_VARIANTS See: https://lkml.org/lkml/2021/5/30/107 2021-05-22: - rebase on linus/master (5.13-rc2+) - fix headset button handling and jack/mic plug in/plug out detection - should be much more reliable now 2021-05-21: - rebase on linus/master (5.13-rc2+) 2021-05-20: - rebase on linus/master (5.13-rc2+) - fixed up booting with fw_devlink=on (see fixes-5.13) - applied Samuel's time travel avoidance fix https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210515021439.55316-1-samuel@sholland.org/ - this should fix occasional stalls and system hangs - revert fine tuned OCV based capacity reporting, PMIC is not reporting OCV correctly so kernel has garbage input for the OCV -> capacity conversion and thus produces garbage output too (this stops large jumps in capacity when plugging in a charger and in general makes capacity reporting saner) - fixed "NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!!" - wifi driver no longer prevents dynticks from working - improved (well..., added) suspend/resume code to anx7688 driver :) - fixes some issues caused by this driver ignoring the suspend/resume cycle 2021-05-09: - rebase on linus/master (pre 5.13-rc1) - replace old HDMI audio patches with the new HDMI sound card support from Jernej - cleanup compilation warnings 2021-05-07: - rebase on linus/master (pre 5.13-rc1) 2021-05-01: - fixed suspend failure of light/proximity sensor - raise the default minimum frequency for mbus devfreq governor (you can still lower it in sysfs for higher runtime power savings at the cost of some performance, see /sys/class/devfreq and tune it there for your distro) 2021-04-26: - rebase on 5.12 final - fixed behavior with dumb charger (DCP) being forced to 500mA on boot from anx7688 driver - disable lradc wakeup by default (lowers the power consumption in suspend) 2021-04-25: - rebase on linus/master - I've created a patch that disables touchscreen controller during system sleep reducing power consumption by about 40mW in sleep (and by 130mW when touching the screen in sleep) - before: https://megous.com/dl/tmp/0533207eed42258c.png - after: https://megous.com/dl/tmp/5d504d680415e2e3.png - those power spikes are touch controller checking if there's a finger touching the screen, and those dense spikes are when the finger is actually touching the screen - Added Samuel's DRAM downclocking patches 2021-04-19: - rebase on 5.12-rc8 2021-04-12: - rebase on 5.12-rc7 2021-04-09: - rebase on linus/master 2021-04-05: - rebase on 5.12-rc6 2021-04-01: - added patches from Samuel that implement cpuidle power savings on PinePhone (You also need to run the latest master of TF-A and crust firmware.) - rebased on top of linus/master 2021-03-22: - rebase on 5.12-rc4 2021-03-15: - rebase on 5.12-rc3 - enable interrupt on battery capacity low (wakeup the phone and notify power supply change, for userspace to gracefully handle this condition) 2021-03-11: - linus/master update 2021-03-09: - linus/master update 2021-03-04: - linus/master update (fixes FS corruption when using swapfiles) 2021-03-01: - rebase on 5.12-rc1 2021-02-23: - rebased on top of linus/master (5.12 cycle) - cleaned up compile errors 2021-02-20: - fix an7688 compilation on 32-bit ARM 2021-02-19: - added support for wake over wireless LAN (WoWLAN) - howto is in the 2021-02-18: - added USB_QUIRK_RESET for EG25G modem (https://gitlab.com/mobian1/devices/eg25-manager/-/merge_requests/5) 2021-02-15: - rebased on v5.11 final - fixed anx7688 fw flashing timeout - added Samuel's patches: - allow to use RTC wakeup when powered off - NVMEM driver for RTC data registers - pulled in some fixes from linux-next into fixes-5.11 - disable MMC runtime PM again (causes issues on H5/H6 https://megous.com/dl/tmp/1eec9b1c7f03ad93.png) - used nvmem reboot driver (suggested by Samuel in RFC patch) for rebooting to FEL, eMMC bootloader, various p-boot boot configs on either eMMC or SD card's bootfs filesystems, boot menu, etc. via reboot() syscall with extra arg (see LINUX_REBOOT_CMD_RESTART2) (p-boot is also updated to support this mechanism, as of 2021-02-15) 2021-02-08: - rebased on 5.11-rc7 2021-02-04: - rebased on linus/master 2021-01-30: - rebased on linus/master 2021-01-27: - tested on all my boards - make HDMI audio sound card initializa again on H3/H5 - fix rebase regression in stmmac driver that broke ethernet on PC 2 2021-01-25: - rebased on top of v5.11-rc5 - fix 8723cs bluetooth DT to load pinephone BT config file correctly (add -pinephone postfix) - fix a bunch of ASoC debugfs/bt-soc errors - remove some noisy logging - move mmc# aliases to SoC DT files to cover more boards - added gc2145 BGGR bayer mode patch (makes this kernel work with megapixels) - update Samuel's patches for irq-wakeup to v5 2021-01-12: - rebased on top of v5.11-rc3+ - update Samuel's patches (stmmac, i2c-pm, irq-wakeup) 2021-01-02: - rebased on top of v5.11-rc1+ 2020-12-14: - rebased on top of v5.10 - added patch to chnage Vbus hold voltage to 4.5V on Pinephone (this makes PD charging more stable) 2020-12-11: - rebased on top of linus/master 2020-12-07: - rebased on top of 5.10-rc7 2020-12-05: - modem power driver: add more powerup modes and change interface for dumb and fastboot powerup - you can now write 2, 3 or 4 to .../powered sysfs file to select differnt powerup mode from the normal one (1) - this is useful for selecting alternate userspace configurations early in boot to allow tracing the userspace processes from early on for reverse engineering, and in the near future, it will be used to switch between original and fully-FOSS userspace code running on the modem's APPS CPU on powerup - see https://xnux.eu/log/#028 2020-12-02: - fix WiFi blocking suspend - improve modem power driver interaction with kernel's autosleep - shorten resume times from 1.2s to 400ms (wifi driver optimization) 2020-11-30: - I improved the anx7688 driver to actually respect PD capabilities of the source, and don't overload it. This should make it more likely to work with the USB-C docks when docks are powered. - Pine64 dock can provide either 500mA when powered from regular USB-A charger (regardless of what kind of charger it is, it can't use more current from it) - With my 3A PD charger, Pine64 dock will advertise 2600mA and Pinephone will now respect this limit. - rebase on linus/master (5.10-rc6 atm) - increase I2C clock for sensors and touchscreen/anx7688 from 100kHz to 400kHz - added patch from https://patchwork.kernel.org/project/dri-devel/cover/20200222024210.18697-1-yuq825@gmail.com/#23237865 for easier GPU debugging (suggested by bshah) 2020-11-28: - rebased on linus/master - replaced my 60FPS fix with a more mainlineable and better working solution from Roman Beranek - disable 8723cs CONCURRENT_MODE, enable wifi 802.11z TDLS 2020-11-25: - enable wifi power saving mode (saves 350mW in idle, and doesn't seem to break the wifi so far) 2020-11-25: - added a new 2020-10 wifi driver and cleaned up to work with PinePhone - see wifi-5.10 branch - rebased on linus/master 2020-11-23: - rebased, added modem power blocking mode (p-boot privacy support) 2020-11-17: - drop ov5640 AF patch 2020-11-17: - rebase on linux/master - fix camera probe 2020-11-15: - rebase on linux/master - add "retain LED state in sleep" patch 2020-11-13: - fix boot failure on pocketbook (see https://www.mail-archive.com/linux-crypto@vger.kernel.org/msg46288.html) 2020-11-13: - rebase on top of 5.10-rc3+ - update defconfigs 2020-11-10: - rebase on top of 5.10-rc3 2020-11-01: - added some musb suspend/resume fixes - fixed regulator probe on a711 - fix mmc device numbering - rebase on top of 5.10-rc2 2020-10-31: - rebased on top of 5.10-rc1+ - added ov5640 autofocus support from Martijn Braam (you'll need /lib/firmware/ov5640_af.bin) - added fix for DSI panel 36.6 FPS issue (myself) - import upstreamed variant of audio patches from Samuel 2020-10-25: - rebased on top of 5.10-rc1 2020-10-19: - fix orange pi 3 ethernet 2020-10-12: - fix issue with dsi clock described here: https://xnux.eu/log/#021 - rebase on v5.9 final - integrate pinetab panel patches from (untested) https://gitlab.com/pine64-org/linux/-/commits/pine64-kernel-5.7.y-pinetabpanel/ 2020-09-29: - add a few more codec API fixes from Samuel 2020-09-28: - rebase on top of 5.9-rc7 - integrated the newest audio patches from Samuel 2020-09-23: - port battery thermal regulation fix from p-boot (completely untested, see https://xnux.eu/log/#018) 2020-09-18: - cedrus panic fix - rebase on linus/master 2020-09-17: - further modem driver improvements (fix urc setting on old modem firmwares) 2020-09-13: - rebase on top of 5.9-rc5 2020-09-12: - rebase on top of 5.9-rc4+ 2020-09-10: - rebase on top of 5.9-rc4+ - further fixes for the modem driver poweron, support for fast poweroff feature present on new modem firmware - added flash DT changes - add mounting matrix and a kernel command line option to override it (ignore_mount_matrix) - https://xff.cz/kernels also contains special kernel builds for my multi-dist image (see https://xnux.eu/log/) - enabled opportunistic sleep - enabled btrfs support 2020-09-01: - rebase on top of 5.9-rc3 2020-08-19: - rebase and port to 5.9-rc1 - fix various issues with 5.9-rc1 - fix sleeps in atomic context in anx7688 driver - dropped panfrost dvfs patches for now (conflicts, stability issues) - fix modem UART issues on powerup (sometimes not receiving RDY, etc.) - root cause was host UART locking up due to noise on RX, and the fix is to only open UART port when the modem is powered 2020-08-11: - fix sun50i-codec-analog probe failure when built-in 2020-08-09: - pull in codec changes from Samuel - don't wait for RDY but poll with empty AT command for the modem's status 2020-08-06: - added Samuel's patch for making recording from the codec work again 2020-08-05: - modem driver fixes for BH 2020-08-03: - fixed AC100 driver to make it work without mod clock 2020-08-02: - integrated latest Samuel's audio patches + rebased my AC100 support on top - finished the modem-power driver into a hopefully useable state 2020-07-25: - rebased on top of 5.8-rc7+ - fixed modem driver issue with not shutting down the modem on poweroff/reset on PinePhone (introduced during modem driver rewrite around 5.8-rc5) - worked around AXP reseting input current limit to 500mA regardless of BC detection being disabled (happened on boot with USB-C cable connected to USB-C PD charger) (and reverted again) - improved modem driver - initialize the modem configuration for proper sleep - setup QDAI automatically from DTS - show modem firmware version in dmesg - added rfkill interface - handle URC caching during suspend 2020-07-16: - added HP jack detection patches from A-wai 2020-07-14: - added support for Pinebook Pro - fix issue in my bl_pwm PinePhone patch that broke Pinebook Pro's backlight 2020-07-13: - rebased on top of 5.8-rc5 - improved HW led trigger API - more modem-power work (change to serdev, recv messages from the modem) - support HDMI audio on PinePhone - bump PD power requirement to 15W on PinePhone 2020-07-08: - refactoring of the modem driver, moved to modem-5.8 branch (not finished yet, see TODO in the driver) - update pinephone 1.0-1.2 dts to reflect the differences in modem setup - enable orange pi 3 hdmi audio 2020-07-06: - rebased on top of 5.8-rc4 2020-07-05: - Added fixes for PinePhone panel initialization after resume from sleep 2020-07-04: - Integrated Clément's HDMI audio series (20200704113902.336911-1-peron.clem@gmail.com) - Integrated Clément's panfrost DVFS series (20200704102535.189647-1-peron.clem@gmail.com) My kernel's main integration branch is 'orange-pi-$VER' (this one). No other branch is supposed to work alone. My defconfigs are tested and work on the boards I support. Read the README.md for more info. Only my branches based on the current mainline kernel branch are maintained (those are usually the -rc# kernels!). You can find the current mainline version here https://www.kernel.org/ (mainline: ...) My prebuilt kernels can be found at https://xff.cz/kernels/ You can use them to test that your board works, or just run them without bothering with building everything yourself. I run them on all my boards. My website is https://xnux.eu and may contain useful advice. Good luck! ~megi -
-
sched_urgent_for_v5.14
e681dcba · ·- Have get_push_task() check whether current has migration disabled and thus avoid useless invocations of the migration thread - Rework initialization flow so that all rq->core's are initialized, even of CPUs which have not been onlined yet, so that iterating over them all works as expected
-
irq_urgent_for_v5.14
1a519dc7 · ·- Have msix_mask_all() check a global control which says whether MSI-X masking should be done and thus make it usable on Xen-PV too