Linux Torvalds has just announced the release of Linux 6.3 on the Linux Kernel Mailing List (LKML):
It’s been a calm release this time around, and the last week was really no different. So here we are, right on schedule, with the 6.3 release out and ready for your enjoyment.
That doesn’t mean that something nasty couldn’t have been lurking all these weeks, of course, but let’s just take things at face value and hope it all means that everything is fine, and it really was a nice controlled release cycle. It happens.
This also obviously means the merge window for 6.4 will open tomorrow. I already have two dozen pull requests waiting for me to start doing my pulls, and I appreciate it. I expect I’ll have even more when I wake up tomorrow.
But in the meantime, let’s enjoy (and test) the 6.3 release. As always, the shortlog below is just this last week’s worth of fixes, which is a pretty random collection. Some misc VM fixes stand out, but that sounds scarier than it is – they stand out mainly because everything else is small, and it’s unusual to see the mm/ subdirectory in the diffstat. But it’s all pretty small, and a fair chunk of it is for things like kmsan, not “normal” VM code. Although there’s still some fallout from the conversion to the maple tree and vma iterator. Let’s hope we’re all done with that pain.
Anyway – I think we’re in good shape, but please do try to prove me wrong: testing in the real world is where it’s at.
Linux 6.2 was released about two months ago with faster mitigation of the Retbleed speculative execution attack on x86-64 and ARM processors, the Runtime Verification (RV) tool, optional power savings with improved RCU locking (mainly for Android and Chrome OS), and faster file and directory creation with exFAT, and many other changes.
Linux 6.3 highlights
Some notable highlights of Linux 6.3 include:
- Implementation of AMD’s “automatic IBRS” Spectre defense mechanism that restricts indirect-branch speculation with less of a performance cost than that imposed by retpolines.
- More progress on the Rust front with User-mode Linux support (on x86-64 systems only)
- NFS filesystem (both the client and server sides) has gained support for AES-SHA2-based encryption.
- The kernel now can feature a built-in Dhrystone benchmark to enable performance testing during SoC bring-up.
- Adding of new WiFi devices with the RealTek RTL8188EU (rtl8xxxu) and Qualcomm Wi-Fi 7 devices (ath12k)
Linux 6.3 Arm changes
As usual, there were plenty of changes made to the Arm architecture:
- Arm (Aarch64) scalable matrix extension 2 instructions are now supported. Check out the documentation for details.
- More cleanup of the old-style board files (pre-device tree era) – See commit.
- Allwinner H3/H5 – DRAM clock as fixed clock
- Allwinner R528/T113 – Added clock driver (same as Allwinner D1 RISC-V CPU)
- Allwinner A64 and A33 – Add DPHY interrupt
- Allwinner F1C100s – USB PHY support
- Banana Pi M3 – Add SATA regulator
- NanoPi Duo2 – Fix regulator reference
Beelink X2 (H3) – Align HDMI CEC node name
- New boards and devices – N/A
- Added support for RV1126 Vision SoC with an NPU
- Added basic support for RK3128 TV box SoC
- Added support for Rockchip RK3588/RK3588s SoCs
- New devices and boards
- Edgeble Neural Compute Module 2(Neu2) board based on RV1126 (and Neu2K based on RV1126K, an industrial grade (-40°C to +85°C) version of the processor)
- Reference platforms for RK3588/RK3588S
- Nine development boards or SoM based on Rockchip RK3588, RK3568, RK3566, and RK3328 including Radxa Compute Module 3 (CM3), 96boards SoM-CB compliant Edgeble AI Neural Compute Module 6 (Neu6), Orange Pi R1 Plus SBC, EmbedFire LubanCat 2 SBC, etc…
- Ethernet – Amlogic gxl MDIO mux
- Amlogic A311D – Addition of NNA power domain
- ARM DT changes:
- Align OPP table names with DT schema
- meson8/8b: Add more L2 (PL310) cache properties
- Align LED node names with dtschema
- ARM64 DT changes for Linux 6.3:
- Merge of immutable bindings branch with Reset & power domain binding
- Add DT node for the VIPNano-QI on the A311D
- DT bindings fixups covering all SoC families: MAC address nodes, Ethernet PHY node name, scpi & child node names, SD/SDIO node name, etc…
- Remove CPU opps below 1GHz for G12A boards, like it was done for G12B/SM1
- Fix WiFi/Bt definition around P212 & Khadas VIM1
- Add audio node to P212
- Fix FAN trip definition to Odroid-HC4
- Fix gpio-fan gpios definition
– Permit Radxa Zero OTG on USB1
– Fix VDDIO_C enable gpio by using OPEN DRAIN flag
- New devices and boards – ODROID-N2L, Banana Pi M2-Pro, Radxa Zero2 (Amlogic A311D)
- Samsung/Tesla FSD SoC – ASoC driver (I2S support)
- Correct s3c64xx_set_timer_source() prototype.
- Re-work MIPI and DP phys as children of Exynos PMU system controller. This both better reflects actual device hierarchy and allows to remove later few warnings from dtc W=1 and dtbs_check.
- System Controller – use dedicated/specific compatibles to identify different controllers with different register layout (Exynos, Tesla FSD). Extend the bindings with missing clocks.
- DTS ARM changes for Linux 6.3:
- Correct Exynos5420 MIPI DSI and phy compatibles.
- Correct Exynos4210 and Exynos4412 HDMI phy compatibles.
- Several large cleanups to achieve zero-waning of dtbs_check and dtc W=1
- Samsung DTS ARM64 changes:
- Add L2 cache properties (Exynos, Tesla FSD).
- Tesla FSD: add Bosch MCAN (CAN bus), sound card (audio card with codec and I2S controllers), system controller nodes.
- Tesla FSD: correct pin pull up/down properties to match recommendation in user manual.
- Minor cleanups: use dedicated/specific sysreg compatibles, fix dtbs_check warnings, drop unsupported properties
- New Device – Samsung Galaxy S5 (SM-G900H) board.
- Added Qualcomm SM8550 (Snapdragon 8 Gen 2) for mobile phones with support for storage, USB, remoteprocs, PCIe, low-speed buses, crypto and display subsystem
- Added Qualcomm QDU1000/QRU1000 5G RAN platform
- Driver for Qualcomm battery and power supply status
- Qualcomm SM8550 – UFS, PCIe, combo PHY support
- Qualcomm SM6115 / SM4250 – USB3 PHY support
- Qualcomm SM6350 – Combo PHY support
- Qualcomm SM6125 – UFS PHY support
- Qualcomm SM8350 & SM8450 – Combo PHY support
- Qualcomm SNPS eUSB2 eUSB2 repeater drivers
- PCIe controller driver
- Add MSM8998 DT compatible string
- Unify MSM8996 and MSM8998 clock orderings
- Add SM8350 DT binding and driver support
- Add IPQ8074 Gen3 DT binding and driver support
- Correct qcom,perst-regs in DT binding
- Add qcom_pcie_host_deinit() so the PHY is powered off and regulators and clocks are disabled on late host-init errors
- Pinctrol drivers
- New subdriver for the Qualcomm QDU1000/QRU1000 SoC pin controller
- New subdrivers for the Qualcomm SM8550 SoC and LPASS pin
- New subdriver for the Qualcomm SA8775P SoC pin controller
- New subdriver for the Qualcomm IPQ5332 SoC pin controller
- New (trivial) support for Qualcomm PM8550 and PMR735D PMIC pin control
- ARM32 DTS updates:
- Support for Acer Iconia Talk S A1-724
- The Samsung Galaxy Tab 4 10.1 gains ADSP and backlight support.
- The Xperia Z2 Tablet gets charging enabled and the touchscreen is given a little bit more time to start up.
- APQ8064 and MSM8974 gains improvements in clock hierarchy. APQ8064 thermal sensor (tsens) driver gains per-censor calibration data.
- Adds backlight, notification LED, vibrator, volume keys and hall sensor to the OnePlus One
- Range of Devicetree validation fixes across various platforms.
- Arm64 DTS updates for Linux 6.3
- IPQ8074 – The PCIe PHY register regions and PHY clock names are corrected, QFPROM is introduced.
- MSM8916 – DMA for the I2C controllers are introduced and blsp_dma is unconditionally enabled. Per-sensor calibration data is provided for the
thermal sensor (tsens) block. The GPLUS FL8005A device is introduced and gains support for touchscreen and flash LED. An additional Samsung
Galaxy J5 variant is added, and support is added for hall sensor and MUIC.
- MS8956 – Per-sensor calibration information is introduced for the thermal sensor
- GPLL0 is added as a possible Kryo clock controller input, a carveout is added to get modem metadata out of System RAM. Missing bus clocks are added for agnoc2.
- Core Bus Fabric (CBF) is introduced, interconnect paths for UFS are also described.
- SDHCI1 is enabled on the Sony Xperia Tone platform and USB is limited to high-speed, to make USB work.
- MSM8998 – Gains the same modem carveout as other platforms, and the description of the clock hierarchy is improved.
- QCS404 – The clock hierarchy description is improved, the CDSP PAS node is adjusted to match the binding and the thermal sensor (tsens) gains per-sensor calibration information.
- SC7180 – The Data Capture and Compare block is intorduced, and a carveout for the modem metadata is introduced, to get this out of System RAM. Pazquel360 gains touchscreen support, the regulator off-on-time is adjusted for the Trogdor eDP and touchscreen. Data lane and frequency properties are introduced for the DisplayPort links.
- Data Capture and Compare support, as well as the dedicated modem metadata region. Herobrine gains DP audio support. IPA description is updated so that it’s only active on boards with a modem.
- Fixes related to the power-grid of herobrine
- SC8280XP – The display subsystem is introduced, currently with support for most of the DisplayPort controllers. GPR, SoundWire and LPASS is introduced, for audio support. Missing I2C and SPI controllers are introduced. Support for EDP is introduced for the CRD, the Lenovo ThinkPad X13s and the SA8295P ADP automotive board. The SA8540P Ride platform enables one i2c and pcie controllers. A CMA region is defined for the CRD and X13s, to avoid allocation issues from the NVMe support.
- Fairphone FP3 gains NFC support and the Sony Xperia Nile platform gains a description of simplefb.
- SDM670 – Gains QFPROM definition, interconnect providers are added
- Gains a carveout for the modem metadata and support for the Data Capture and Compare block is introduced.
- Lenovo Yoga C630 firmware paths are aligned with all other Qualcomm platforms.
- The duplicated wcd9340 audio-coded description is moved from devices to a common file, audio devices are added to the OnePlus 6 and 6T.
- Apss SMMU is introduced and streams are defined for USB and SDHCI controllers. GPI DMA description is introduced, as well as missing SPI and I2C serial engines.
- Sony Xperia 10 IIa regulator definitions are improved, SDHCI2 is introduced, and I2C and related GPI DMA blocks are enabled.
- SM6350 – IPA is introduced. DDR and L3 scaling is introduced based on CPUfreq.
- SM7225 – Fairphone FP4 has IPA enabled, and the Flash LED is enabled as well.
- SM8150 – The display subsystem is introduced, with clock controller, DPU and two DSI controllers. The Data Capture and Compare block is introduced. The Sony Xperia Kumano platform gets GPIO keys and NFC support
- SM8350 – Adds PCIe and display subsystem with display clock controller, DPU and two DSI controllers. #interconnect-cells is changed to 2, to align with other platforms and allow for active-only votes. The display is enabled and the LT9611uxc found on the SM8350 Hardware Development Kit board is described, to provide HDMI output.
- The display subsystem is introduced, with DPU and two DSI controllers.
- GIC-ITS support is introduced for both PCIe0 and PCIe1.
- SPMI bus support is introduced and pmics are wired up across the various devices.
- The LT9611uxc is described to provide HDMI output on the SM8450 Hardware Development Kit.
- On Sony Xperia Nagara platform, GPIO keys and GPIO line names are introduced. As is the SLG51000 PMIC and camera regulators are defined.
- SM6115 – Debug UART, SMP2P, watchdog nodes are introduced, and the platform is switched to use #address/size-cells of 2, in line with most other platforms.
- SM6350 – Camera control interface and clock controllers are added and the CCI interface is enabled on the Fairphone FP4.
- SM8350 – Interconnect reference of SDHCI controller is corrected, DSI1 PHY clocks are properly described as sources for the Display clock
controller and DSI1 is wired up to the display controller. The firmware paths are corrected for the Sony Xperia Nagara platform.
- SM8550 – The GPR bus, audio servic3es and LPASS pinctrl nodes are added.
- DisplayPort controllers and pmic_glink on SC8280XP (8cx Gen3) for USB Type-C-based displays on the Lenovo ThinkPad X13s and the compute reference
device. The pmic_glink also provides battery and power supply status.
- Interrupt-parents are corrected across the SC8280XP PMICs, to allow non-Linux OSs to properly handle interrupts in the various blocks therein.
- Cleans up the SM8350 base dtsi and introduces GPU support on this platform, as well as enable this for the Hardware Development Kit (HDK).
- I2C busses enabled on the Fairphone FP4
- Aligns glink node names with bindings across a few platforms, and corrects the compatible for the PON block in the pmk8350 PMIC.
- Arm defconfig updates
- Arm64 defconfig updates
- Enables the drivers needed to support USB Type-C based external display on the SC8280XP laptops.
- Enables a couple of core drivers for the Qualcomm SA8775P platform.
- New devices and boards
- Reference platforms for SM8550 and QDU1000
- Six tablets based on Qualcomm MSM8916 (Snapdragon 410), SM6115 (Snapdragon 662) and SM8250 (Snapdragon 865)
- Two LTE dongles based on MSM8916
- Seven mobile phones, based on Qualcomm MSM8953 (Snapdragon 610), SDM450 and SDM632
- Three Chromebooks based on Qualcomm SC7280 (Snapdragon 7c)
- Added MediaTek regulator coupler driver to ensure that the SRAM voltage is in par with the GPU voltage
- Pinctrl – New subdriver for the Mediatek MT7981 SoC pin controller
- MediaTek MT7621 PCIe controller driver – Delay PHY port initialization to improve boot reliability for ZBT WE1326, ZBT WF3526-P, and some Netgear models
- ASoC driver – Add support of SOF on MediaTek MT8188 SoC. MT8188 ADSP integrates with a single core Cadence HiFi-5 DSP. The IPC communication between AP and DSP is based on shared DRAM and mailbox interrupt.
- MediaTek WiFi (mt76):
- per-PHY LED support
- mt7996: EHT (Wi-Fi 7) support
- Wireless Ethernet Dispatch (WED) reset support
- switch to using page pool allocator
- New device – Mediatek MT7986A-based Banana Pi BPI-R3 router
- Other new Arm hardware platforms and SoCs
- ASpeed – Two AST2600-based BMC boards
- Enclustra – PE1 FPGA-SoM baseboard (Arria10)
- Microchip – sam9x60_curiosity development board (Armv5 based)
- Several i.MX53 and i.MX6ULL boards.
- Six embedded machines based on NXP i.MX8MM and i.MX8MP
- Texas Instruments
RISC-V Linux 6.3 changelog
- BPF trampolines are now fully supported on (s390x and) RISC-V RV64 systems.
- RISC-V kernels can use the “ZBB” bit-manipulation extension, when present, to accelerate string operations.
- Various improvements to the extension detection and alternative patching infrastructure
- Support for cpu-capacity in the RISC-V DT bindings
- Zicbom no longer depends on toolchain support
- Some performance and code size improvements to ftrace
- Support for ARCH_WANT_LD_ORPHAN_WARN
- Oops now contain the faulting instruction”
- Allwinner D1
- New power management drivers
- Added CAN bus gates and resets
- StarFive JH7110
- New power management drivers
- New driver for the StarFive JH7110 SoC “sys” and “aon” (always-on) pin controllers.
- Add sdio/emmc driver support
- DT binding for VisionFive 2
- New boards
- Ten single-board computers based on variations of the Allwinner D1/T113 including MangoPi MQ Pro
- Aldec TySoM devkit Microchip Polarfire board.
Updates to the MIPS architecture
Thomas Bogendoerfer summarizes the MIPS updates for Linux 6.3 simply as “Just cleanups and fixes”. So I’ve included the full list of changes and fixes below:
- MIPS: vpe-mt: drop physical_memsize
- mips: fix syscall_get_nr
- MIPS: SMP-CPS: fix build error when HOTPLUG_CPU not set
- MIPS: DTS: jz4780: add #clock-cells to rtc_dev
MIPS: dts: Boston: Fix dtc ‘pci_device_reg’ warning
- mips: dts: ralink: mt7621: add [email protected] as CPU port
- mips: dts: align LED node names with dtschema
- MIPS: ralink: Use devm_platform_get_and_ioremap_resource()
- MIPS: pci-mt7620: Use devm_platform_get_and_ioremap_resource()
- MIPS: pci: lantiq: Use devm_platform_get_and_ioremap_resource()
- MIPS: lantiq: xway: Use devm_platform_get_and_ioremap_resource()
- MIPS: BCM47XX: Add support for Linksys E2500 V3
- mips: ralink: make SOC_MT7621 select PINCTRL_MT7621 and fix help section
- MIPS: DTS: CI20: fix otg power gpio
- MIPS: dts: lantiq: Remove bogus interrupt-parent; line
- MIPS: Fix a compilation issue
- MIPS: remove CONFIG_MIPS_LD_CAN_LINK_VDSO
- mips: Realtek RTL: select NO_EXCEPT_FILL
- MIPS: OCTEON: octeon-usb: Consolidate error messages
- Fix to avoid crash on BCM6358 platforms: mips: bmips: BCM6358: disable RAC flush for TP1
You can also find a more complete Linux 6.3 changelog with commit messages only. It was generated with the command
git log v6.2..v6.3-rc8 --stat. Alternatively, you can also read the changelog on the KernelNewbies website.
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.