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

Linux 5.18 is out! Linus Torvalds has just announced the release on lkml:

No unexpected nasty surprises this last week, so here we go with the 5.18 release right on schedule.

That obviously means that the merge window for 5.19 will open tomorrow, and I already have a few pull requests pending. Thank you everybody. I’d still like people to run boring old plain 5.18 just to check, before we start with the excitement of all the new features for the merge window.

The full shortlog for the last week is below, and nothing really odd stands out. The diffstat looks a bit funny – unusually we have parsic architecture patches being a big part of it due to some last-minute cache flushing fixes, but that is probably more indicative of everything else being pretty small.

So outside of the parisc fixes, there’s random driver updates (mellanox mlx5 stands out, again likely because everything else is small), some other minor architecture fixes, some core networking, and some tooling stuff. And random small noise. People who really care for the details please just scroll down..


The earlier Linux 5.17 release brought us the Real-Time Linux Analysis (RTLA) tool, a new P-state driver for modern AMD Zen processors, mitigation for straight-line speculation attacks, a faster random number generator, and many other changes.

Linux 5.18 release arm risc-v mips

Some highlights of the Linux 5.18 release:

  • Faster compilation times – A rearchitecting of the kernel headers for significantly faster builds have been proposed; Linux 5.18 introduces some of these changes in the task scheduler.
  • Linux 5.18 switches to C11 – So far, the Linux kernel has relied on the C89 standard (released in 1989). The new release is now making use of the C11 standard (2011) for reasons explained in an LWN article.
  • Better process scheduling performance on AMD Zen – AMD Zen CPUs have multiple Last Level Caches (LLC) per node which makes it harder to tune some workloads to run optimally. The new code allows for adjustment to the imbalance on multi-LLC machines up to the point where LLCs should be balanced between nodes. This has been shown to significantly improve the performance of some workloads.
  • Btrfs updates – Encoded I/O, cross-mount reflink/dedupe and performance improvements. The Linux release lets user space tools avoid extra decompression/compression by letting send/receive read and write compressed extents directly, adds support for cross-mount reflink/dedupe, and several performance improvements, notably for fsync-based workloads.

Arm updates in Linux 5.18

  • Allwinner
    • Allwinner H616 – Added RTC
    • Allwinner R329 – Added ASoC driver
    • PHY – Sun4i support for USB
    • Added support for F1c100s
    • Defconfig – Enable Allwinner F1C100
    • New board – A20-Marsboard development board
  • Rockchip
    • Clock driver – Improve the clocks for the Rockchip rk3568 display outputs (parenting, pll-rates), Use of_device_get_match_data() instead of open-coding on Rockchip
    • PHY driver – Rockchip naneng combo phy support for RK3568
    • IOMMU driver – Use standard driver registration
    • Add support for Reboot to Rockchip RK808
    • New devices and boards
  • Amlogic
    • Pinctrl – New driver for the Amlogic Meson S4 SoC
    • ARM64 DT changes for Linux 5.18:
      • Initial support for Amlogic S4 (S802X2, S905Y4, S805X2G, S905W2)
      • Support for uart_ao_b & pwm_f on G12 SoCs
      • Remove CPU opps below 1GHz for SM1 (S905X3) boards because “Amlogic SM1 devices experience CPU stalls and random board wedges when
        the system idles and CPU cores clock down to lower opp points”
    • New boards & devices
      • Amlogic A905X3 – Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max TV box
      • Amlogic AQ222 board (Amlogic S4)
      • OSMC Vero 4K+ (Amlogic S905D)
  • Samsung
    • Pinctrl
      • Wakeup support on Samsung Exynos850 and ExynosAutov9
      • Fix OF reference leak in pinctrl driver probe error path.
        Correct list of handlers for Exynos850 ALIVE and CMGP pin banks.
      • Accept devicetrees with GPIO pin bank definitions named with a “-gpio-bank” suffix. This is necessary for later Samsung pinctrl bindings dtschema.
      • Convert Samsung pinctrl bindings to dtschema.
    • Clock controller – Add support for Tesla FSD SoC clock controller within Samsung Exynos SoC clock controller drivers. The Tesla FSD’s clock controller is similar to Samsung Exynos one, so the entire driver structure can be re-used
    • DTS ARM changes for Linux 5.18
      • Fix issues pointed out by DT schema checks: Add necessary clock controller inputs on Exynos5260, drop unsupported regulators on Odroid XU, add USB DWC3 supplies, drop old thermal properties from Exynos4210.
      • Add support for Samsung Chagall WiFi (Exynos5420, Samsung Galaxy Tab S 10.5″, SM-T800 ) and a similar Samsung Klimt WiFi (Samsung Galaxy Tab S 8.4″).
      • Add battery to Samsung P4Nnote (Exynos4412, Samsung Galaxy Note 10.1).
    • DTS ARM64 changes
      • Added Samsung Exynos 850 phone SoC and reference board (WinLink E850-96 board)
      • Added Samsung Exynos7885 with the Samsung Galaxy A8 (2018) phone
      • Tesla FSD (Fully Self-Driving), an automotive SoC loosely derived from the Samsung Exynos family.
      • Fix issues pointed out by DT schema checks: Add necessary clock controller inputs on Exynos7, add USB DWC3 supplies, drop old syscon phandle on Exynos5433.
      • Minor improvements and dtschema fixes (node names, properties).
  • Qualcomm
    • Clock driver
      • Added Qualcomm SDX65 A7 PLL
      • Added Qualcomm SM6350 GPU clks
      • Added Qualcomm SM6125, SM6350, QCS2290 display clks
      • Added Qualcomm MSM8226 multimedia clks
      • Updated Qualcomm SC8280XP RPMCC
      • Added some missing clks on Qualcomm MSM8992/MSM8994/MSM8998 SoCs
      • Rework Qualcomm GCC bindings and convert SDM845 camera bindig to YAML
      • Convert various Qualcomm drivers to use clk_parent_data
      • Remove test clocks from various Qualcomm drivers
      • Crypto engine clks on Qualcomm IPQ806x + more freqs for SDCC/NSS
      • Qualcomm SM8150 EMAC, PCIe, UFS GDSCs
      • Better pixel clk frequency support on Qualcomm RCG2 clks
    • PM – Fix issues with the Qualcomm’s cpufreq driver
    • Pinctrl
      • New driver for Qualcomm SC8280XP SoC
      • Qualcomm SM8450 gets EGPIO support
    • PCIe controller driver – Add SM8450 DT binding and driver support
    • Net drivers
      • Qualcomm 802.11ax WiFi (ath11k)
        • Add LDPC FEC type and 802.11ax High-Efficiency data in radiotap
        • Enable RX PPDU stats in monitor co-exist mode
    • irqchip
      • Simplify the Qualcomm PDC driver
      • Add support for the Qualcomm MPM wakeup gadget
    • PHY
      • Qualcomm USB PHY support for sc8180x and sc8280xp, MSM8953
      • Qualcomm eDP PHY for sc7280
    • Arm64 DT updates:
      • New platforms: Snapdragon 625 and Snapdragon 632 with initial description of Fairphone FP3 phone
      • IPQ6018 – USB reference period is corrected, GICv2m support is enabled and the max-link-speed for PCIe is specified.
      • IPQ8074 – Adds description of GIVv2m and SMEM, and ensures that TrustZone related memory is reserved from Linux.
      • Snapdragon 7c Gen 3 (SC7280) – Description of display, displayport, L3 interconnect, bluetooth, CPU opp-tables are added.
      • Snapdragon 845 – The OnePlus device gains fuel gauge and the platform gains GSI DMA support, which is enabled for SPI (for now).
      • Snapdragon 850 – The Lenovo Yoga C630 gains description of its backlight controls.
      • Fairphone 4 on the SM7225 platform gains proper WLED configuration.
      • Snapdragon 855 (SM8150) – Description of the limits hardware (LMh) is introduced and the SPI and I2C devices are wired to the GSI DMA controller.
      • Snapdragon 865 (SM8250) – The CPU and cluster idle states are introduced, the MSI interrupts for PCIe 1 and 2 are corrected and the CPUfreq driver gains knowledge about thermal pressure interrupts.
    • Defconfig updates
      • The Qualcomm Snapdragon 8916 devices come in both 32- or 64-bit form, and even though the typical case so far has been to 64-bit, it’s possible to run the Dragonboard 410c in either mode.
      • Enable the relevant drivers in multi_v7_defconfig to enable this, and other Snapdragon 8916 devices to run the 32-bit kernel.
    • New devices and boards
  • MediaTek
    • MFD – Add support for MediaTek MT6366 PMIC to MT6358 IRQ
    • Net drivers
      • Ethernet – Added MediaTek MT8195 switches
      • WiFi
        • Added MediaTek mt7916, MediaTek mt7921u USB adapters
        • background radar detection (mt76 driver)
        • Thermal management improvements on mt7915
        • SAR support for more mt76 platforms
        • MBSSID and 6 GHz band on mt7915
  • Other new Arm hardware platforms and SoCs
    • Aspeed – Quanta S6Q BMC (AST2600), ASRock ROMED8HM3 (AST2500)
    • Broadcom – Raspberry Pi Zero 2 W
    • Marvell – MVEBU/Armada: Ctera C200 V1 NAS (kirkwood), Ctera C200 V2 NAS (armada-370)
    • Mstar (SigmaStar) – DongShanPiOne, a low-end embedded board; Miyoo Mini handheld game console
    • NXP- i.MX8M Mini boards: Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, and Gateworks GW7903
    • Texas Instruments – SanCloud BeagleBone Enhanced WiFi
    • STMicro – Emtrion emSBS-Argon embedded board (STM32MP157C)

RISC-V changes

  • Allwinner D1 – Added support for I2S, MMC, SID, USB
  • SiFive
    • A bunch of SiFive PLIC cleanups
    • SiFive FU740 PCIe controller driver:
      • Drop redundant ‘-gpios’ from DT GPIO lookup
      • Force 2.5GT/s for initial device probe
  • StarFive
  • Support for Sv57-based virtual memory.
  • Various improvements for the MicroChip PolarFire SOC and the associated Icicle dev board, should allow upstream kernels to boot without any additional modifications.
  • An improved memmove() implementation.
  • Support for the new Ssconfpmf and SBI PMU extensions, which allows for a much more useful perf implementation on RISC-V systems.
  • Support for restartable sequences.

MIPS Linux 5.18 changelog

  • Added support for QCN550x (ath79)
  • Enabled KCSAN
  • Removed TX39XX support
  • Various cleanups and fixes
  • Extend R4000/R4400 CPU erratum workaround to all revisions

For more details, you can check out the full Linux 5.18 changelog with all commit messages, generated with the command git log v5.17..v5.18-rc8 --stat, or check out a more detailed summary on KernelNewbies website.

Share this:

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

ROCK 5 ITX RK3588 mini-ITX motherboard
Notify of
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.
1 Comment
2 years ago

Thanks for the detailed summary, Jean-Luc!

Khadas VIM4 SBC