Linus Torvalds has just released Linux 6.19 on the Linux Kernel Mailing List (LKML):
No big surprises anywhere last week, so 6.19 is out as expected – just as the US prepares to come to a complete standstill later today watching the latest batch of televised commercials. The betting man would expect them all to be AI-generated, but maybe some enterprising company decides to buck the trend? Doubtful, but there’s always a slight chance.
But for anybody outside the US, maybe taking the newest kernel out for a spin instead is an option?
I have more than three dozen pull requests for when the merge window opens tomorrow – thank you to all the early maintainers. And as people have mostly figured out, I’m getting to the point where I’m being confused by large numbers (almost running out of fingers and toes again), so the next kernel is going to be called 7.0.
But today, the big news is 6.19. And some random sporting event.
Linus
Released a little over two months ago, Linux 6.18 removed the controversial bcachefs filesystem, got performance improvements for UDP networking and swap save, and further Rust support, among many other changes. Linux 6.18 was also declared as the latest LTS (Long Term Support) kernel and will get updates at least until December 2027. Let’s now focus our attention on the Linux 6.19 release with some newsworthy changes and details about the Arm, RISC-V, and MIPS architectures.
Notable changes in Linux 6.19
Some interesting changes include:
- PCIe Link Encryption and secure Device Authentication – This encryption can be used to communicate confidential VMs (like AMD SEV-SNP or Intel TDX): the PCIe traffic between the VM and the device is encrypted and authenticated on the wire, so the host OS or other devices cannot snoop on DMA traffic, observe, or inject data.
- File system improvements
- Btrfs file system – Scrub and device replacement no longer block attempts to suspend the system; adds support for the shutdown ioctl, improves experimental support for block sizes being larger than the memory page size in RAID56 setups; includes preparations for fscrypt support and some locking performance improvements when the file system is processing space reservation tickets
- EXT-4 file system – Support for block sizes larger than page size (4KB in x86). Larger block sizes can improve buffered IO write performance by about 50% on average, although direct IO shows some degradation due to the increased time spent doing checksums. See commit with benchmarks for details.
- Color pipeline API for HDR support – This API supports pre- and post-blending complex color transformations in display controller hardware for HW-supported HDR use-cases. It also provides support to color-managed applications, such as video or image editors. It was already possible to support an HDR output, but that required the compositor or application to render and compose the content into one final buffer intended for display. The new color pipeline API allows the system to utilize built-in hardware functionality to support complex color transformations with minimal CPU or shader load. Check out the kernel documentation for details.
Linux 6.19 Arm architecture changelog
As usual, there were plenty of changes to the Arm architecture, some of which are listed below for the silicon vendors most frequently covered on CNX Software.
- Allwinner
- Allwinner driver changes – Just one cleanup change that is part of tree wide cleanup of redundant pm_runtime_mark_last_busy() calls.
- Device tree changes for Linux 6.19
- The A523 family (including A527/T527) gains support for I2S and SPDIF audio interfaces, as well as the GMAC200 Ethernet controller.
- The H616 gains support for the NAND controller.
- New devices – N/A
- Rockchip
- Rockchip RK3506 – Gains I2C, pintctrl, clock, MIPI DSI PHY, Ethernet (Synopsys) drivers
- Rockchip RV1126B – Clock driver
- Rockchip DesignWare PCIe controller driver – Add Rockchip RK3528 compatible strings in DT binding
- MMC driver – sdhci-of-dwcmshc: add command queue support for Rockchip SOCs
- Media
- Add support for Rockchip VICAP (Video Capture) and RKCIF (Rockchip Camera Interface)
- Add support for RKVDEC HEVC Decoder
- Documentation for Rockchip PX30 Video Input Processor (VIP)
- New devices
- LinkEase EasePi R1 router (RK3568)
- Asus Tinker Board 3 and 3S boards (RK3566)
- 100ASK DShanPi A1 (RK3576)
- NanoPi R76S IoT gateway (RK3576)
- QNAP TS233 NAS (RK3568)
- 9Tripod X3568 (RK3568)
- Amlogic
- Meson PCIe controller driver – Update DT binding to name DBI region ‘dbi’, not ‘elbi’, and update driver to support both
- IRQ driver – Add support for Amlogic S6, S7, and S7D SoCs
- Amlogic Drivers for Linux 6.19
- Canvas device leak fix and error handling simplification
- Add more SoCs definitions
- Support more SoCs for meson-gx-ao-secure
- ARM64 device tree for Linux 6.19:
- Fix the PCIe DBI memory region name
- Add ISP nodes for Amlogic C3
- Add power controller nodes for Amlogic S6/S7/S7D
- Add Pinctrl node for Amlogic A4
- Add AO Secure node for Amlogic S6/S7/S7D
- Add GPIO Interrupt node for Amlogic S6/S7/S7D
- Fix S922X cache layout
- New device – Tanix TX9 Pro TV box (S912)
- Samsung
- Pinctrl
- Samsung Exynos 8890 SoC support
- Samsung Exynos-derived Axis Communications ARTPEC-9 SoC support
- PHY driver – Samsung HDMI/eDP Transmitter Combo PHY updates
- Clock – Samsung ACPM (firmware interface) clock driver
- SoC Drivers
- ChipID driver – Add support for identifying Exynos 8890 and Exynos 9610.
- PMU driver – Allow specifying a list of valid registers for the custom regmap used on Google GS101 SoC. The PMU (Power Management Unit) on that SoC uses more complex access to registers than simple MMIO, and invalid registers trigger aborts, halting the system.
- Few minor cleanups.
- Several new bindings for compatible devices.
- DTS ARM changes – Fix WiFi on Exynos4210 and Exynos4412 boards with Broadcom chip after system suspend and resume, by using cap-power-off-card to power off the
WiFi during suspend. - Samsung DTS ARM64 changes for Linux 6.19
- Exynos Auto v920 – Add more clock controller nodes.
- Google GS101
- PMIC clock
- Mark ACPM (Alive Clock and Power Manager) firmware node as a clock provider and use its clocks. Add Devicetree binding headers with clock
- Add more SYSREG (syscon) regions.
- Correct several blocks’ address space sizes and APM SYSREG’s starting address.
- Exynos 7870:
- Enable display over DSI and several display panels.
- Few cleanups.
- Defconfig changes – N/A
- New Device – N/A
- Pinctrl
- Qualcomm
- Added Qualcomm MSM8937 (Snapdragon 430) – An older mobile phone chip based on Cortex-A53, and closely related to MSM8917 (Snapdragon 425), which is already supported
- Soundwire – Qualcomm support for v3.1.0 controllers
- I2C driver – New driver for Qualcomm SM8750, Kaanapali (SM8850), and MSM8953
- Pinctrl
- Qualcomm Glymur (Snapdragon X2 Elite) PMIC support (mostly just compatible strings)
- Qualcomm Kaanapali SoC TLMM support
- DMA engine – GPI Block event interrupt support in Qualcomm driver
- PHY – Qualcomm Glymur QMP PCIe PHY support
- Clock drivers
- Qualcomm IPQ5424 Network Subsystem Clock Controller
- Qualcomm SM8750 Video Clock Controller
- Describe parent/child relationship among the Qualcomm Titan GDSCs on SM845, SM6350, SM7150, SM8250, SM8450, and SM8550
- Define display subsystem reset signals for SM6350, SM7150, and SDM660
- Add missing USB4 clocks and resets on Hamoa
- Address a variety of smaller issues across the drivers, and a few more Kconfig dependency issues
- Watchdog – Add Qualcomm Kaanapali watchdog
- IOMMU – ARM-SMMU updates: Qualcomm device-tree binding updates for Kaanapali and Glymur SoCs and a new clock for the TBU.
- PCIe controller driver
- Add Qualcomm Kaanapali to SM8550 DT binding
- Add required ‘power-domains’ and ‘resets’ to qcom sa8775p, sc7280, sc8280xp, sm8150, sm8250, sm8350, sm8450, sm8550, x1e80100 DT schemas
- Look up OPP using both frequency and data rate (not just frequency), so RPMh votes can account for both
- ASoC – Added driver for Qualcomm QCM2290, QRB2210, and SM6115
- WiFi drivers
- ath10k: factory test support
- ath11k: TX power insertion support
- ath12k: BSS color change support and statistics improvements
- Device driver updates
- Support for hardware-keymanager v1 support for wrapped keys is introduced in the ICE driver.
- Support for the new Kaanapali mobile platform is added to last-level cache controller, pd-mapper, and UBWC drivers.
- UBWC driver gains support for the Monaco and Glymur platforms.
- The PMIC GLINK driver is extended to handle the differences found in targets where the related firmware runs on the SoCCP.
- Support for running on targets without initialized SMEM is provided, by reworking the SMEM driver to differentiate between “not yet probed” and “probed but there was no SMEM”. An unwanted WARN_ON() that triggered if clients asked for a SMEM item beyond the currently running system’s limit, was removed, to allow new use cases to gracefully fail on old targets.
- The Qualcomm socinfo driver is extended with support for version 20 through 23 and support for providing version information about more than 32 remote processors. Identifiers for QCS6490 and SM8850 are also added.
- Additionally, a number of smaller bug fixes and cleanups in PBS, OCMEM, GSBI, TZMEM, and MDT-loader are included.
- Arm64 device tree updates
- SoC dtsi files for Agatti, Hamoa, Kodiak, Monaco, Purwa, and Talos, are renamed in order to better facilitate the addition of new boards on the various SKUs of these.
- IPQ5424 – Cooling maps are introduced for the CPU cores, and the network subsystem clock controller is added.
- Lemans – RTC is enabled, the EVK fan controller is described and a camera mezzanine overlay is introduced.
- Touchscreen support is added to the BQ Aquaris M5, and the touchscreen from Samsung Galaxy Core Prime is moved to the common platform to benefit the other devices sharing common definitions.
- Agatti – Two more UARTs are described, as well as APR and the related audio services, and the LPASS LPI pin controller. The RB1 board gets HDMI audio playback support.
- Kodiak-based targets – Fairphone FP5 gains definitions of the UW camera actuator, regulator for the ToF sensor, and haptic module. The SHIFT SHIFTphone 8 gains RGB and flash LEDs, and Venus support. The Rb3Gen2 development board gets a QUP firmware path defined to support dynamic loading of the serial engine firmware. Kodiak also gains Coresight devices for AOSS and QDSS blocks.
- Display support is added for the Talos platform and enabled on the Ride board. Talos also gains the definitions to scale DDR and L3 interconnects.
- SC8280XP – The camera privacy indicator on the Lenovo Thinkpad X13s is connected to the camera stack. Off-by-one GPI DMA channels are corrected.
- SDM845 – LG and OnePlus custom-defined rmtfs guard pages are replaced with the inline support for guard pages.
- SDX75 – DWC3 node is flattened and marked for USB role switching.
- SM8550 – The camera subsystem and the S5K3M5 camera sensor are introduced for the QRD, and an overlay for the “Rear Camera Card” for the Hardware Development Kit (HDK) is introduced.
- SM8750 – USB support is introduced and enabled in the MTP and QRD devices.
- Hamoa – Like on other devices, the Asus Zenbook A14 definition of the eDP panel is reworked to support both LCD and OLED configurations. WiFi and Bluetooth is also enabled on the A14. The CRD gains support for controlling charge limits.
- The refgen regulator supplying DSI is defined and wired up on a variety of platforms.
- Arm32 device tree updates
- In addition to a variety of cleanups and reordering of nodes, four GSBIs are added to the MSM8960 platform.
- On the MSM8226-based Samsung Galaxy Grand 2, a simple framebuffer is defined.
- Arm64 defconfig updates for Linux 6.19
- Enable config options for the hardware used across Fairphone 3, 4, and 5.
- Enable Novatek display panels found on Xiaomi Pocophone F1
- Enable the MTP and eUSB2 PHY found in SM8750
- Enable the NSS clock controller found in IPQ5424
- Enable the SX150x GPIO expander used in the QCS615 reference device, and support for UFS inline crypto.
- New Devices
- Radxa Dragon Q6A development board
- Huawei MateBook E 2019 2-in-1 tablet based on Qualcomm SDM850
- Asus ZenFone 2 Laser/Selfie smartphone based on Snapdragon 615 (MSM8939)
- Xiaomi Redmi 3S smartphone based on MSM8937
- MediaTek
- Watchdog – MediaTek MT8189 SoC
- PCIe controller driver:
- Convert DT binding to YAML schema
- Add Airoha AN7583 DT compatible and driver support
- WiFi drivers (mt76):
- WED support for >32-bit DMA
- Airoha NPU support
- regdomain improvements
- Continued WiFi7/MLO work
- SoC driver – Adds socinfo entries for MT8189 Kompanio 540, an extra entry for a variant of MT8391 (AV/AZA) Genio 720 SoC, and support for the PMIC Wrapper (by adding a compatible string) in MT8189.
- ARM32 updates – Add support for the MT6582 SoC and its SMP bringup code. This SoC is found in old smartphones and tablets from various manufacturers.
- ARM64 device tree updates for Linux 6.19
- Preparation for new SoCs (MT8196 Kompanio Ultra, a clone of the MT6991 Dimensity 9400, and MT6878 Dimensity 7300) with the addition of GCE/PIO definitions
- Improvements for already supported SoCs and machines:
- MT7622/7981b/7986a/7988a gain support for reading SoC UUID from eFuse, used to generate a persistent MAC address on boards that don’t have any factory-assigned addresses.
- MT7986 BananaPi R3 gets changes to its default fan PWM speed to improve compatibility with cheaper fans (usually coming with the heatsink+fan combos)
- The MT7981b OpenWRT One router sees general support improvements with the enablement of its UART-0 console and correct pinmuxing for the same, addition of reserved memory for Trusted Firmware A, its SPI NOR Flash (for recovery system, WiFi EEPROM data, and ETH MAC address from factory), and board LEDs.
- MT8365 gets support for its Mali G52 MC1 GPU, which gets enabled in the MediaTek Genio 350 EVK board
- dt-bindings warning fix for MT8183 machines through trivial changes to rename the audiosys and afe nodes to reflect bindings.
- Defconfig updates – As MediaTek boards with UFS appeared some time ago, this adds a single commit enabling the MediaTek UFS driver, allowing those boards to boot over UFS as primary storage.
- New devices
- BananaPi R4 Pro eMMC and SD router board (MT7988A) with support for both Key-M and Key-E M.2 slots through DTB Overlays
- Grinn GenioSBC-510 (GenioSOM-510 + GenioBoard Edge AI)
- Grinn GenioSBC-700 (GenioSOM-700 + GenioBoard Edge AI)
- MediaTek Genio 1200 EVK with UFS
- Alcatel Yaris XL (MT6582) smartphone
- Other new Arm hardware platforms and SoCs
- Aspeed – 2x AST2600 (Cortex-A7) based BMC setups for large servers
- Black Sesame Technologies – C1200 automotive SoC using Cortex-A78 CPU cores
- Intel/Altera – 24 variants of the Enclustra Mercury system-on-module, all based on 32-bit Intel/Altera SocFPGA chips, plus two boards using 64-bit SocFPGA Agilex chips.
- NVIDIA – Tegra124 (K1)-based Xiaomi Mi Pad
- Renesas – R-Car X5H (R8A78000) 16-core Cortex-A720 automotive SoCs
- Texas Instruments – AM62L is a new variant of the AM62 family of industrial SoCs without a GPU.
- Raspberry Pi-specific changes
- Revert of the Raspberry Pi RP1 overlay support that was decided not to be ready
- Renesas DTS updates – Add DT overlay support for the Raspberry Pi Display 2 and Argon40 fan hats on the Retronix Sparrow Hawk board.
- Regulator – The Raspberry Pi drivers aren’t useful on other architectures, so only offer them on ARM and ARM64, except for build testing purposes.
- DRM – Add configuration for 5-inch Raspberry Pi 720×1280 DSI panel based on ili9881. This uses 10px longer horizontal sync pulse and 10px shorter HBP to avoid very short hsync pulses.
RISC-V updates in Linux 6.19
There were a few interesting changes to the RISC-V architecture in Linux 6.19:
- Enable parallel hotplug for RISC-V
- Optimize vector regset allocation for ptrace()
- Add a kernel selftest for the vector ptrace interface
- Enable the userspace RAID6 test to build and run using RISC-V vectors
- Add initial support for the Zalasr RISC-V ratified ISA extension
- For the Zicbop RISC-V ratified ISA extension to userspace, expose hardware and kernel support to userspace and add a kselftest for Zicbop
- Convert open-coded instances of ‘asm goto’s that are controlled by runtime ALTERNATIVEs to use riscv_has_extension_{un,}likely(), following arm64’s alternative_has_cap_{un,}likely()
- Remove an unnecessary mask in the GFP flags used in some calls to pagetable_alloc()
- Add probing and userspace reporting support for the standard RISC-V ISA extensions Zilsd and Zclsd, which implement load/store dual instructions on RV32
- Abstract the register saving code in setup_sigcontext() so it can be used for stateful RISC-V ISA extensions beyond the vector extension
- Add the SBI extension ID and some initial data structure definitions for the RISC-V standard SBI debug trigger extension
- Clean up some code slightly: change some page table functions to avoid atomic operations oinn !SMP and to avoid unnecessary casts to atomic_long_t; and use the existing RISCV_FULL_BARRIER macro in place of some open-coded ‘fence rw,rw’ instructions
- Alibaba T-Head
- Reset controller – Add support for the remaining TH1520 reset controllers.
- Device Tree
- Add PWM controlled fan and its associated thermal management for the Lichee Pi 4A board.
- Enable additional ISA extensions supported by the T-Head C910 cores: Zfh, Ziccrse, XTheadvector.
- Add reset controllers of more TH1520 subsystems: AP, AO, DSP, MISC, VI.
- ESWIN
- Add EIC7700 USB controller
- Add device tree binding documentation and header file for the ESWIN EIC7700 reset controller module.
- Add support for the mmc controller in the Eswin EIC7700
- Microchip
- SPI driver – New driver for the silicon SPI controller in PolarFire SoCs
- Clock driver – PolarFire SoC clock driver updates to use regmaps instead of iomem addresses; with it, the reset control driver support for non-auxiliary bus probing was included, as it now depends on the regmap registered by the clock controller driver
- SoC drivers – Add bindings and mfd drivers for two syscon regions on PolarFire SoC, needed as part of a rework of the devicetree to permit supporting, among other things, pinctrl sanely and avoiding the “new” pic64gx SoC ever using the original incorrect clock nodes. Fiddle with the Microchip RISC-V MAINTAINERS entry to add these drivers and avoid branding it FPGA only.
- SiFive
- Added Tenstorrent Blackhole Neural Processing Unit using custom “Tensix” cores for computation offload managed by Linux running on four SiFive X280 RISC-V cores.
- Add PWM fans to the Unmatched board.
- Sophgo
- Device Tree updates
- CV18xx – Add TOP syscon device-related DTS change, the top system controller provides register access to configure some misc modules, such as usb2 phy and a dma
- SG2042
- Add DTS definition for PCIe controllers for SoC SG2042 and boards such as Pioneerbox/EVB_V1/EVB_V2 uses SG2042.
- Add DTS to support SPI-NOR flash controllers for this SoC and the same for related boards.
- Device Tree updates
- SpacemiT
- RISC-V config – The SpacemiT K1 wants the freescale qspi driver enabled as a module, as they appear to be rather similar IPs.
- Device tree changes for Linux 6.19
- Add UART and I2C nodes
- Add P1 PMIC nodes
- Enable eeprom for BPI-F3
- Enable QSPI on BPI-F3
- Enable Ethernet and PDMA on OrangePi RV2
- New boards – MusePi Pro and Orange Pi R2S
- StarFive
- New boards
- Orange PI RV board (JH7110)
- VisionFive 2 Lite SBC (JH7110S)
- New boards
Changes to the MIPS architecture
The MIPS architecture didn’t get much love in Linux 6.19, and the summary reads “Just cleanups and fixes”.
Details:
- Fix whitespace damage in r4k_wait from VS timer fix
kvm: simplify kvm_mips_deliver_interrupts() - alchemy: mtx1: switch to static device properties
- Remove __GFP_HIGHMEM masking
- ftrace: Fix memory corruption when kernel is located beyond 32 bits
- dts: Always descend vendor subdirectories
- configs: loongson1: Update defconfig
- Fix HOTPLUG_PARALLEL dependency
For additional information, you can check out the Linux 6.19 changelog with comments only (no code), generated with the command git log v6.18..v6.19-rc8 --stat. Alternatively, you can also read Kernelnewbies’ changelog for a broader list of updates to the Linux 6.19 kernel. Next up will be Linux 7.0.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.




