Linux 4.16 Release – Main Changes, Arm and MIPS Architectures

Linus Torvalds has just released Linux 4.16:

So the take from final week of the 4.16 release looks a lot like rc7, in that about half of it is networking. If it wasn’t for that, it would all be very small and calm.

We had a number of fixes and cleanups elsewhere, but none of it made me go “uhhuh, better let this soak for another week”. And davem didn’t think the networking was a reason to delay the release, so I’m not.

End result: 4.16 is out, and the merge window for 4.17 is open and
I’ll start doing pull requests tomorrow.

Outside of networking, most of the last week was various arch fixlets (powerpc, arm, x86, arm64), some driver fixes (mainly scsi and rdma)
and misc other noise (documentation, vm, perf).

The appended shortlog gives an overview of the details (again, this is only the small stuff in the last week, if you want the full 4.16
changelog you’d better get the git tree and filter by your area of

Linux 4.15 came with the first Spectre & Mitigation patchsets, added preliminary support for RISC-V architecture, improved power management in systems with SATA Link Power Management, and more

Some of most interesting changes for Linux 4.16 include:

  • More mitigations for Spectre / Meltdown security bugs including for Arm64
  • MultiMediaCard subsystem has been reworked to use the multiqueue block API, which should bring performance improvements to SD cards and others cards.
  • Various file systems change for NFS, Btrfs, CIFS, XFS,
  • Virtualization with KVM now supports AMD’s secure encrypted virtualization (SEV) feature.

Some of Arm-specific changes include:

  • Allwinner:
    • Display – LVDS support, DE2 (multi-plane support, HW scaling)
    • A83T drivers –  Display (LCD) & I2S
    • H3/H5 drivers – SimpleFB support
    • Device Tree changes
      • SoC specific
        • A83T – I2C, I2S added, First display pipeline (LCD/LVDS), GPIO for AXP81x PMIC
        • H3/H5 – SimpleFB
      • Board specific
        • Audio codec enabled for Olimex A13-Olinuxino
        • WiFi/BT enabled for Xunlong Orangepi Zero Plus2
        • AXP803 regulators added for Xunlong Orangepi Win
        • EMAC enabled for FriendlyARM NanoPi NEO Plus2, Cubietech Cubietruck Plus, Sinovoip Banana Pi M3, FriendlyARM NanoPi M1
        • USB OTG enabled for FriendlyARM NanoPi NEO
        • LEDs enabled for Sinovoip Banana Pi M64
        • HDMI enabled for LinkSprite pcDuino3 NanoDevice Tree changes
    • New boards supported – Orange Pi R1, Libre Computer Board ALL-H3-CC H3
  • Rockchip
    • Stability fixes – Ethernet on Rock64, clock settings for stable display suspend/resume on Chromebook Plus, phyCORE-RK3288 could run at an invalid CPU freq (1.8 GHz), and MMC link reliability
    • DTS64 changes
      • RK3399 gets Mipi nodes, fixes for usb3 support and better support
        for the type-c phys.
      • The Kevin Chromebooks based on rk3399 now can use their internal edp displays.
      • RK3328 gets its efuse node and Mali450 gpu node, which actually produces already some nice results with the WIP Lima driver.
    • DTS32 changes – Just the reset property for the rk3066a-rayeager emac phy
  • Amlogic
    • New drivers for Amlogic Meson-AXG (A113D) – Clock, reset controller
    • 64-bit DT changes
      • Clock, pinctrl, PWM, reset, IR, SPI and Ethernet MAC support for the new AXG family SoCs
      • meson-gx – add VPU power domain support
      • odroid-c2 – add HDMI and CEC nodes
      • misc cleanups
    • 32-bit DT changes
      • meson8: GPIO IRQ support
      • switch to stable UART bindings w/correct clock
      • add more L2 cache settings
      • drop unused ADC clock
  • Samsung
    • Added Samsung Exynos True RNG driver
    • DTS ARM64 changes
      • Add CPU perf counters to Exynos5433.
      • Add missing power domains to Exynos5433.
      • Add NFC chip to Exynos5433 TM2/TM2E.
      • Fix obscure bugs on I2C transfers to MHL chip on TM2/TM2E.
      • Fix DTC warnings around unit addresses.
      • Add SPDX license identifiers
    • DTS ARM changes
      • Add sound support to Odroid XU4 (and adjustments to Odroid XU3).
      • Enable WiFi on Trats2.
      • Add CPU perf counters to Exynos54xx.
      • Add power domains to certain chipsets.
      • Add Exynos4412 ISP clock controller which finally solves freezes when
        accessing ISP clocks while having the ISP power domain turned off.
      • Add Pseudo and True RNG to Exynos5.
      • Minor fixes for Trats2, Odroid XU3/XU4, Exynos5410.
      • Cleanup of some of DTC warnings
      • Add SPDX license identifiers.
    • Defconfig changes
      • Enable missing drivers for supported Exynos boards (PMU, CEC, MHL
        bridge, ASoC for Odroid XU3/XU4).
      • Enable Exynos IOMMU driver on exynos_defconfig
  • Qualcomm
    • Clock
      • new drivers for Qualcomm A53 PLL, SPMI clkdiv, and MSM8916 APCS
      • Audio fixes for Qualcomm MSM8916
      • Qualcomm IPQ8074 rounded out support for more peripherals
      • Qualcomm Alpha PLL variants
    • Pinctrl – New subdriver for the Qualcomm MSM8998 SoC
    • New driver for Qualcomm QMI, the interface to the modem on MSM
    • Assorted cleanups for msm8916
    • Fix IPC references for smsm
    • Device Tree changes – Add uSD slot nodes on msm8974-FP2 board
    • Defconfig update
      • Enable framebuffer, IOMMU, and DRM options
      • ARM64 – Remove legacy QCOM config options
  • Mediatek
    • Clock – compile test support
    • Add mt2712 support to the Mediatek cpufreq driver
    • Fix in Mediatek PHY to detect device connection
  • ARM64 architecture changes
    • Support for 52-bit physical addresses on suitably equipped hardware
    • arm64 architecture has gained the ability to invalidate the branch prediction unit, a defense against the Spectre variant-2 vulnerability. Also added to arm64 is kernel page-table isolation to defend against Meltdown.
  • Other new ARM hardware platforms and SoCs:
    • Actions Semi – S700 Soc and CubieBoard7 development board, Sparky Single-board-computer
    • APSPEED ast2x00 platforms
    • Atmel / Microchip AT91 – Axentia Nattis/Natte digital signage, sama5d2 PTC-ek Evaluation board
    • Freescale/NXP
      • i.MX:
        • SolidRun Humminboard2 development board
        • Variscite DART-MX6 SoM and Carrier-board
        • Technologic TS-4600 and TS-7970 development board
        • Toradex Colibri iMX7D SoM board
        • v1.5 variant of Solidrun Cubox-i and Hummingboard
      • Layerscape – Moxa UC-8410A Series industrial computer
    • Gemini – D-Link DNS-313 NAS enclosure
    • Texas Instruments – LogicPD OMAP35xx SOM-LV devkit, LogicPD OMAP35xx Torpedo devkit
    • Renesas – r8a77970 (V3M) Starter Kit board, r8a7795 (M3-W) Salvator-XS board

MIPS also had several changes, and listed in many details as usual, except for an ultra compact summary:

  1. Basic support for the Ingenic JZ4770 based GCW Zero open-source
    handheld video game console
  2. Support for the Ranchu board (used by Android emulator)
  3. Various cleanups and misc improvements

Most items from the longer version of the summary:

  • Fixes:
    • Fix generic platform’s USB_*HCI_BIG_ENDIAN selects (4.9)
    • Fix vmlinuz default build when ZBOOT selected
    • Fix clean up of vmlinuz targets
    • Fix command line duplication (in preparation for Ingenic JZ4770)
  • Miscellaneous:
    • Allow Processor ID reads to be to be optimised away by the compiler (improves performance when running in guest)
    • Push ARCH_MIGHT_HAVE_PC_SERIO/PARPORT down to platform level to disable on generic platform with Ranchu board support
    • Add helpers for assembler macro instructions for older assemblers
    • Use assembler macro instructions to support VZ, XPA & MSA operations on older assemblers, removing C wrapper duplication
    • Various improvements to VZ & XPA assembly wrappers
    • Add drivers/platform/mips/ to MIPS MAINTAINERS entry
  • Minor cleanups – Misc FPU emulation cleanups, remove duplicates, etc..
  • Platform support
    • Broadcom – Enable ZBOOT on BCM47xx
    • Generic platform – Add Ranchu board support, used by Android emulator; fix machine compatible string matching for Ranchu; support GIC in EIC mode
    • Ingenic platforms:
      • Add DT, defconfig and other support for JZ4770 SoC and GCW Zero
      • Support dynamnic machine types (i.e. JZ4740 / JZ4770 / JZ4780)
      • Add Ingenic JZ4770 CGU clocks
      • General Ingenic clk changes to prepare for JZ4770 SoC support
      • Use common command line handling code
      • Add DT vendor prefix to GCW (Game Consoles Worldwide)
    • Loongson:
      • Add MAINTAINERS entry for Loongson2 and Loongson3 platforms
      • Drop 32-bit support for Loongson 2E/2F devices
      • Fix build failures due to multiple use of ‘MEM_RESERVED’

You can get the full list of changes in Linux 4.16 changelog – with comments only – generated with git log v4.15..v4.16 --stat. Once the page is updated, you may also consider reading Kernelnewsbies’s Linux 4.16 changelog.

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.
Khadas VIM4 SBC