Linux 6.2 release – Main changes, Arm, RISC-V, and MIPS architectures

Linux 6.2 has just been released with Linus Torvalds making the announcement on LKML as usual:

So here we are, right on (the extended) schedule, with 6.2 out.

Nothing unexpected happened last week, with just a random selection of small fixes spread all over, with nothing really standing out. The shortlog is tiny and appended below, you can scroll through it if you’re bored.

Wed have a couple of small things that Thorsten was tracking on the regression side, but I wasn’t going to apply any last-minute patches that weren’t actively pushed by maintainers, so they will have to show up for stable. Nothing seemed even remotely worth trying to delay things for.

And this obviously means that the 6.3 merge window will open tomorrow, and I already have 30+ pull requests queued up, which I really appreciate. I like how people have started to take the whole “ready for the merge window” to heart.

But in the meantime, please do give 6.2 a testing. Maybe it’s not a sexy LTS release like 6.1 ended up being, but all those regular pedestrian kernels want some test love too.

Linus

The previous Linux 6.1 was released as an LTS (Long Term Support) kernel with initial support for the Rust programming language, KMSAN kernel memory sanitizer, the Multi-gen LRU (MG-LRU) implementation for better swap file/partition management, and many other changes.

Linux 6.2 release

Linux 6.2 highlights

Some notable changes in Linux 6.2 include:

  • Faster mitigation of the Retbleed speculative execution attack on x86-64 and ARM processors, and FineIBT – The techniques used to mitigate the Retbleed vulnerability had a considerable impact on performance. Linux 6.2 implements a lighter-weight software-only fix for Skylake-based cores where enabling IBRS is a big hammer and causes a significant performance impact. This new method can be enabled with the boot option retbleed=stuff. The new release also adds FineIBT mitigation feature based on the software kCFI implementation and uses hardware IBT support where present to annotate and track indirect branches using a hash to validate them. LWN has more details about the former.
  • Runtime Verification (RV) tool – The Runtime Verification System, merged on Linux 6.0, is a lightweight method that complements classical exhaustive verification techniques (such as model checking and theorem proving) with a more practical approach for complex systems. Linux 6.2 includes the RV runtime verification tool that serves as an interface for in-kernel RV monitors, and “the home” for user-space controlled monitors.
  • exFAT has become faster on Linux 6.2 when creating files and directories.
  • Optional power savings thanks to improved RCU locking – The RCU locking technique implements a timer-based RCU callback batching (aka lazy callbacks), which saves about 5-10% of power consumption in Android and ChromeOS devices due to RCU requests that happen when the system is lightly loaded or idle (defaults to off, can be enabled in KConfig)

Linux 6.2 Arm changes

Let’s now have look at the Arm architecture in particular:

  • Allwinner
    • Allwinner A100 – MIPI DSI (DHPY) driver
    • Allwinner H616  – USB PHY driver
    • Allwinner A31 – Camera sensor driver code was now split into a bridge and a separate processor driver
    • Allwinner F1C100S – Add LRADC (KEYADC), CIR (infrared receiver), I2C, PWM
    • Clock driver
      • Fixed header guard for V3S clocks
      • Add IR module clock for F1C100S
    • IOMMU driver for Sun50i – Remove IOMMU_DOMAIN_IDENTITY as it has not been working forever, various other fixes
    • New boards and devices – None this time around
  • Rockchip
    • ASoC – Support for Rockchip RK3588
    • IOMMU – Page table permission bit fix
    • Clock driver – Support for the clock and reset unit of the Rockchip rk3588
    • Rockchip DesignWare PCIe controller driver – Base DT schema on common Synopsys schema.
    • Timers – Add DT bindings for the Rockchip rk3128 timer
    • Crypto support for rk3399 and rk3328
    • Second I2S controller for rk3568
    • Cache properties to follow the binding for rk3308 and rk3328
    • Device support updates for:
      • SOQuartz: PCIe2, video output, gpu, HDMI sound
      • Rock 3A: eth regulator, eth clock input, Wifi+Bt, I2S, PCIe3
      • Minor extensions for Rock960 (HDMI supplies), rk3566-roc-pc (PCIe2), Rock 4C+ (thermal support), Pinephone Pro (Wifi+Bt)
    • New devices and boards
  • Amlogic
    • Amlogic Meson G12 – Support for the DDR PMU present
    • ARM64 DT changes for Linux 6.2:
      • meson-gxl: add SPI pinctrl nodes for CLK
      • meson-gxbb: add SPI pinctrl nodes for CLK
      • Enable active coling using gpio-fan on Odroid N2/N2+
      • remove clock-frequency from rtc
      • Update cache properties for amlogic
    • New device – ODROID Go Ultra portable game console (S922X)
  • Samsung
    • IOMMU – Fix driver initialization sequence (Exynos)
    • DTS ARM64 change for Linux 6.2 – Correct pin drive strength macros (names) and values used on Tesla FSD SoC
  • Qualcomm
    • New SoCs:
      • MSM8996 Pro (Snapdragon 821)
      • SM6115 (Snapdragon 662)
      • SM4250 (Snapdragon 460)
      • SM6375 (Snapdragon 695)
      • SDM670 (Snapdragon 670)
      • MSM8976 (Snapdragon 652)
      • MSM8956 (Snapdragon 650)
      • SA8540P automotive SoC
    • Qualcomm PCIe controller driver – Add SC8280XP/SA8540P basic interconnect support.
    • PHY driver
      • Qualcomm SM8450 PCIe1 PHY support in EP mode
      • Qualcomm SC8280XP PCIe PHY support (including x4 mode)
      • Fixed Qualcomm SC8280XP USB4-USB3-DP PHY DT bindings
    • DMA engine – Qualcomm SDM670, SM6115 and SM6375 GPI controller support
    • Clock driver
      • Global clock controller for Qualcomm SM8550
      • Display clock controller for Qualcomm SC8280XP
      • RPMh clock controller for Qualcomm QDU1000 and QRU1000 SoCs
    • Regulator – Support for Qualcomm PM8550
    • Socinfo – Added knowledge about MSM8956, MSM8976, SM6115, SM4250, SM8150, SA8155 and SM8550.
    • Qualcomm 802.11ax WiFi (ath11k) – Supports configuring channel dwell time during scan.
    • Arm64 DTS updates for Linux 6.2
      • Add a description of the Vision Mezzanine for the RB5 board and the Navigation Mezzanine for the SDM845 RB3.
      • SC8280XP adds L3 and DDR scaling support, resulting in good performance improvement. PCIe and UFS are marked DMA coherent, resolving data
        corruption issues. Reference clocks for UFS phy and device are corrected, to resolve issues seen in combinations with some bootloaders where it’s not sufficient to rely on the bootloader state.
      • RTC description is added to the SA8295P ADP board.
      • SM6115: GPI, PRNG, tsens, WCN, cpufreq, I2C/SPI and display blocks are added.
      • SM6375: QUP blocks are described, allowing the addition of touchscreen and remoteprocs for ADSP and CDSP are introduced.
      • SM8250 Coresight components are described
      • SM8450 sound and Soundwire blocks are described, and enabled on HDK. CPU supply clock is described, to satisfy the DT binding and the
        opp-framework.
      • A wide variety of updates to align with DeviceTree bindings across many/most platforms is introduced, and incorrectly styled comments are
        adjusted across the tree.
      • Apps RSC is added to the cluster-idle power-domain across SM8150, SM8250, SM8350 and SM8450, to ensure sleep and wake votes are flushed as
        the last core is being powered down.
      • Remoteproc firmware patches are aligned with agreed upon structure used in linux-firmware across Inforce 6560, Lenovo Miix 630, various Sony
        Xperia devices and Samsung Galaxy Book2 (although these are not available in linux-firmware today).
      • IPQ8074 CPU: clocks are added, thermal zones are introduced and vqmmc supply is specified for the HK01 board.
      • Alcatel OneTouch Idol 3 gains LED nodes and Samsung Galaxy A3U gained vibrator support.
      • A new CPU frequency table is introduced for MSM8996Pro, to properly describe it separately of MSM8996. The GPU opp-table is extended as well.
      • SC7180: USB is marked as a wakeup source, USB gains required-opps to ensure that the core voltage rail is voted for as needed. The description of the fingerprint sensor in Trogdor is corrected.
      • SC7280: Wake-on-WLAN is introduced, and PHY parameters for the SNPS USB PHY is defined across SC7280.
      • The memory map across Google Herobrine is adjusted, to regain unused memory on the WiFi SKUs. A LTE SKU of the Evoker board is introduced
        and the bard gains touchscreen. NVME support is disabled on Villager boards, as it’s not used.
      • NVMe, SDX55 (5G) and WiFi enabled on the Lenovo Thinkpad X13s and Compute Reference Device. ADCs and thermal zones are introduced for the same. Lenovo Thinkpad X13s gains LID switch support.
      • Fairphone FP3 gains touchscreen support.
      • Fairphone FP4 got SD-card support.
      • The round-robin ADC is enabled across DB845c, OnePlus devices and Pocophone F1 devices.
      • The DisplayPort controller on SDM845 is introduced.
      • SM6350 gains SDHCI support and on Sony Xperia 10 III sd-card, touchscreen and GPI DMA is enabled.
      • UFS PHY register ranges are corrected across SM8150, SM8250, SM8350 and SM8450.
      • Sony Xperia 1 II got NFC support and Sony Xperia 5 III got PMIC regulators defined and USB definition corrected, to enable USB3.
      • The SDHCI controller is described for SM8450 and microSD support is enabled for the HDK and QRD devices.
      • SM8450 also gains camera CCI interface and display clock controller.
    • Arm defconfig updates
      • Enable remaining Qualcomm TLMM pinctrl drivers in the qcom_defconfig
    • Arm64 defconfig updates
      • Enable Globalc Clock Controller (GCC) and TLMM pinctrl for SM6115 and SM4250.
      • Enable more Qualcomm TLMM pinctrl drivers, and the Qualcomm crypto drivers.
      • Make the SC7180 and SM8450 interconnect drivers builtin, in order to ensure that a console will be registered before init needs it.
    • New devices and boards
      • Sony phones: Xperia 10 IV, 5 IV, X, and X compact
      • OnePlus phones: One, 3, 3T, and Nord N100
      • Xiaomi Poco F1 and Mi6
      • Huawei Watch
      • Google Pixel 3a
      • New variants of the Herobrine and Trogdor Chromebook motherboards
      • Qdrive-3 development platform based on SA8540P automotive SoC
  • MediaTek
    • IOMMU – Improve safety from invalid DTS input; smaller fixes and improvements
    • MediaTek PCIe Gen3 controller driver – Add MT7986 and MT8195 support
    • ASoC – Support  Mediatek systems with multiple DMICs
    • DRM
      • Fixup of DPI and HDMI
      • Move panel connector to head
      • Add MT8188 DPI support
      • Add MT8195 AFBC support
    • Net stack
      • Mediatek MT7986: add RX wireless Ethernet dispatch support
      • Mediatek (mtk_eth_soc) – improve PCS implementation, add DSA untag support, enable flow offload support
      • MediaTek Wi-Fi 7 (802.11be) devices
      • MediaTek WiFi (mt76)
        • Enable Wireless Ethernet Dispatch (WED) offload support
        • Add ack signal support
        • Enable coredump support
        • remain_on_channel support
    • Regulator – Support for Mediatek MT6357
    • Thermal – Add DT bindings and compatible for the Mediatek SoCs MT7981 and MT7983
    • GPIO – Add support for HW quirks for Mediatek MT2701
    • Clock – Frequency hopping controller hardware on MediaTek MT8186
    • New device – Mediatek Helio X10-based Sony Xperia M5 phone.
  • Other new Arm hardware platforms and SoCs
    • Apple – The Apple T6000 (M1 Pro), T6001 (M1 Max), and T6002 (M1 Ultra) chips now have initial support.
    • Aspeed – 2x Aspeed BMC users
    • Broadcom – 2x Wifi routers
    • Marvell – Zyxel NSA310S NAS (88F6702A)
    • NXP:
      • i.MX 6: Kobo Aura2 ebook reader
      • i.MX 8: 2x development boards
    • Renesas – Added RZ/G2UL (r9a07g043) support reorganized in order to share most of the DTS description between the Arm/RISC-V and added the RZ/Five SMARC EVK board support.
    • STMicro – STM32MP1 testbench board from DHCOR
    • Uniphier – 2x Uniphier Pro5 development boards
    • Texas Instruments – K3 based BeagleBone AI-64 board

RISC-V update

  • Allwinner D1 – MIPI DSI driver, ASoC support
  • Renesas – RZ/Five SMARC EVK board support.
  • StarFive – JH7100 source gets reorganized in order to support the VisionFive V1 board.
  • KVM:
    • Allow unloading KVM module
    • Allow KVM user-space to set mvendorid, marchid, and mimpid
    • Several fixes and cleanups
  • Support for the T-Head PMU via the perf subsystem
  • ftrace support for rv32
  • Support for non-volatile memory devices
  • Various fixes and cleanups
  • Device tree updates:
    • dt-bindings:
      • New compatibles to support the StarFive VisionFive & T-Head CPU cores
      • A fix for the PolarFire SoC’s pwm binding, merged through my tree as suggested by the PWM maintainers
      • Microchip:
        • Non-urgent fix for the node address not matches the reg in a way that the checkers don’t complain about
        • Add GPIO controlled LEDs for Icicle
        • Support for the “CCC” clocks in the FPGA fabric.
        • A fix for the Icicle’s pwm-cells
        • Removal of some unused PCI clocks
      • StarFive – Addition of the VisionFive DT

Note that some of the RISC-V updates were found in ARM SoC updates from Arnd Bergmann, possibly because some companies share the same drivers for their RISC-V and Arm SoCs, and Arnd appears to maintain Device Trees updates for RISC-V as well.

MIPS changelog

A few updates were also merged for the MIPS architecture:

  • Ingenic – Ingenic JZ4755 dmaengine support
  • DT cleanups
  • Fix for early use of kzalloc on mt7621 platform
  • Cleanups and fixes

You can also find a more complete Linux 6.2 changelog with commit messages only for extra details., It was generated with the command git log v6.1..v6.2-rc8 --stat. Alternatively, you can also read the changelog on the KernelNewbies website.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
7 Comments
oldest
newest
Thomas Petazzoni
1 year ago

You’re probably missing the driver we (Bootlin) contributed to the ISP found in Allwinner processors. Until now the ISP was only usable using a closed-source binary blob, now we have an open-source driver in the upstream Linux kernel. Of course, it’s not feature complete, but it does support a few features of the ISP and is a good starting point to support more features of the ISP.

David Willmore
David Willmore
1 year ago

That’s cool! Any good documentation I could check out?

David Willmore
David Willmore
1 year ago

I think I saw dgp meddling with that…

Abner Olivieri
1 year ago

Interesting to see mention of “Rockchip’s own RK3566 TV box demo board”. Does anyone know what this is exactly and where it can be purchased?

Theguyuk
Theguyuk
1 year ago

You might want to consider this rk3566 EM3566 board at broadcon. But Android is Linux 4.19 ish.
While Debian 11 claims ported 5.10 ish.

Your choice!

Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...