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

Linux 6.0 has just been released by Linus Torvalds:

So, as is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes.

But of course there’s a lot of various changes in 6.0 – we’ve got over 15k non-merge commits in there in total, after all, and as such 6.0 is one of the bigger releases at least in numbers of commits in a while.

The shortlog of changes below is only the last week since 6.0-rc7. A little bit of everything, although the diffstat is dominated by drm (mostly amd new chip support) and networking drivers.

And this obviously means that tomorrow I’ll open the merge window for 6.1. Which – unlike 6.0 – has a number of fairly core new things lined up. But for now, please do give this most recent kernel version a whirl,

Linus

The previous Linux 5.19 release brought us support for BIG TCP for high-speed networks (100Gbps+), AMD’s Secure Nested Paging and Intel’s Trusted Domain Extensions mechanisms, the Loongson “LoongArch” CPU architecture, and completely removed the a.out executable format on x86, among many other changes.

Linux 6.0 Release

There are no ground-breaking new features in Linux 6.0, but some of the notable changes include:

  • Better energy utilization with the removal of the energy-margin heuristic that limited process migration across CPUs
  • More work has been done on the OpenRISC and LoongArch architectures, with both having gained support for PCI buses.
  • Version 2 of the Btrfs “send” protocol has been added with support for sending data in larger chunks, sending raw compressed extents, and including more metadata.
  • H.265/HEVC userspace API is now declared stable.

Arm updates in Linux 6.0

  • Arm64 architecture can now swap transparent huge pages without the need to split them to base pages first. This feature is incompatible with the memory tagging extension.
  • Allwinner
    • Allwinner A31 – Added MIPI-DSI controller support
    • Allwinner H6 – GPU DFS support
    • Allwinner H616 – Preliminary support
    • Allwinner R329 – Add support for RTC
    • Defconfig – Enable analog audio codecs
    • New boards and devices – Orange Pi Zero2 SBC, X96 Mate set-top-box
  • Rockchip
    • MMC driver – Add support for the Rockchip RV1126 and RK3588 variants
    • Device tree
      • Enable the GPU core on the Rockchip RK3568 BananaPi R2 Pro
      • Enable the I2S0 controller and the hdmi-sound node on the Rockchip RK3568 EVB1
      • Add Rockchip RK3588 serial
    • New devices and boards
  • Amlogic
    • PHY driver – Amlogic G12A Analog MIPI D-PHY driver
    • DRM – Support YUV422 output from the Amlogic Meson SoC VPU to the HDMI controller.
    • ARM DT change – Adjust whitespace around ‘=’ in ARM meson DT
    • ARM64 DT changes for Linux 6.0:
      • Add reset controller node for Meson-S4 SoC
      • Correct gpio-keys properties
      • Align gpio-key node names with dtschema
      • Add gpio-fan control to GS King X
  • Samsung
    • Exynos PCIe controller driver – Fix phy-exynos-pcie driver so it follows the ‘phy_init() before phy_power_on()’ PHY programming model (Marek Szyprowski)
    • PHY – Samsung FSD ufs phy
    • SPI driver – Added support in Samsung Exynos Auto v9 and 4210
    • DTS ARM changes for Linux 6.0
      • Add display panel and backlight to P4 Note family (Samsung Galaxy Note 10.1).
      • DTS cleanup: white-spaces, node names, LED color/function.
      • Switch to DTS-local header for pinctrl register values instead of bindings header. The bindings header is being deprecated because it does not reflect the purpose of bindings.
      • Cleanups: align SDHCI node names.
      • DT bindings: Document preferred compatible naming schema.
    • DTS ARM64 changes
      • Add CPU cache, UFS to Tesla FSD.
      • Add reboot-mode (boot into specific bootloader mode) to ExynosAutov9.
      • Add watchdogs to ExynosAutov9.
      • Add eMMC to Exynos7885 JackpotLTE (Samsung Galaxy A8).
      • DTS cleanup – white-spaces, node names, LED color/function.
      • Switch to DTS-local header for pinctrl register values instead of bindings header. The bindings header is being deprecated because it does not reflect the purpose of bindings.
      • Add more USI (I2C/SPI/UART) devices to ExynosAutov9.
  • Qualcomm
    • Added Qualcomm Snapdragon 8cx Gen3 (SC8280XP), and its automotive variant, the SA8540P.
    • Qualcomm MSM8909 (Snapdragon 210)  gets added to various drivers
    • Pinctrl
      • Added new drivers for Qualcomm MSM8909, PM8226, PMP8074 and SM6375
      • Handle Qualcomm SC7280 ADSP, Qualcomm MSM8916 CAMSS GP clock muxing
    • ASoC – Added support for Qualcomm SDM845, WCD9335 and WAS883x
    • PCIe controller driver:
      • Rework clock, reset, PHY power-on ordering to avoid hangs and improve consistency
      • Move pipe_clk handling to PHY drivers
      • Add IPQ60xx support
      • Allow ASPM L1 and substates for 2.7.0
      • Add support for more than 32 MSI interrupts
    • PHY – Qualcomm IPQ8074 PCIe Gen3 PHY support
    • Clock – Added support for the camera clock controller in Qualcomm SM8450 and the display and gpu clock controllers in Qualcomm SM8350
    • ARM64 DT updates:
      • DB845c (SDM845) gains support for the second GPI DMA controller and has the GENI I2C and SPI instances wired up to their respective GPI DMA controller.
      • QCS404 – USB controller and PHY assignment is corrected
      • IPQ8074 gains APCS definition to handle outgoing IPC interrupts.
      • A range of Devicetree validation issues are addressed
    • Arm64 DT updates for Linux 6.0:
      • IPQ8074 gains GDSC support. The SDHCI reset line was defined to get the storage devices into a known state.
      • MSM8996 interconnect providers, the second DSI interface, resets for SDHCI are introduced.
      • The Dragonboard 820c, DB845c, and SHIFT 6mq gain definitions for their LEDs.
      • MSM8998  – Various cleanup patches, the FxTec Pro1 is split out from using the MTP dts and Sony Xperia devices on the “Yoshino” platform gains ToF sensor.
      • SC7280-based Herobrine board – DisplayPort is enabled, SPI flash clock rate is changed, WiFi is enabled and the modem firmware path is updated. The Villager boards gains touchscreen, and keyboard backlight.
      • Smaller fix on the SDM630 and SDM660
      • SDM845 – Added bandwidth monitor for the CPU subsystem, CPU and cluster idle states are switched to OSI hierarchical states.
      • DLL/DDR configuration for SDHCI nodes are defined for SM6125.
      • SM8250 – The GPU per-process page tables are enabled and for RB5 the Light Pulse Generator-based LEDs are added.
      • The display clock controller is introduced for SM8350.
      • SM8450 – Added camera clock controller and the UART typically used for Bluetooth. The interconnect path for the crypto engine is added to the SCM node, to ensure this is adequately clocked.
      • The assigned-clock-rate for the display processor is dropped from several platforms, now that the driver derrives the min and max from the clock.
      • Wide range of fixes for stylistic issues and issues discovered through Devicetree binding validation across many platforms and boards
    • Deconfig updates
      • Enable Qualcomm Bandwidth Monitor
      • Enable qcom interconnect drivers
      • Enable qcom ss & hs USB phy
      • Enable Qualcomm LPG LEDs driver
      • Enable Qualcomm SC8280XP providers
      • Demote Qualcomm USB PHYs to modules
    • New devices and boards
      • Lenovo Thinkpad X13s laptop with Snapdragon 8cx Gen3
      • A couple of SC7180-based machines including the Lenovo IdeaPad Chromebook Duet 3
      • Xiaomi Mi Mix2s, LG G7, and LG V35 phones based on Qualcomm SDM845, and Xiaomi Mi 5s Plus based on MSM8996.
      • Inforce IFC6560 SBC (Qualcomm SDM660)
  • MediaTek
    • IOMMU – refactoring and support for TTBR up to 35bit
    • MFD – Added Regulator, RTC and Keys in MediaTek MT6357 PMIC used with MT6331 and MT6332
    • PCIe controller driver – Add Airoha EN7532 to DT binding, allowing building of the driver for ARCH_AIROHA
    • PCIe Gen3 controller driver – Print decoded LTSSM state when the link doesn’t come up
    • Clock driver – Add reset support to more drivers; cleanups
    • Ethernet – Add XDP support
    • SPI driver – Added support in MediaTek MT8188 and MT8365
    • DRM
      • Add Mediatek Soc DRM (vdosys0 and vdosys1) support for MT8195
      • Cooperate with DSI RX devices to modify DSI funcs and delay MIPI high to cooperate with panel sequence
      • Add MT8186 DSI compatible and convert dsi_dtbinding to .yaml
      • Add MT8195 dp_intf driver
    • New devices – Acer Chromebook 514 (MT8192), Acer Chromebook Spin 513 (MT8195)
  • Other new Arm hardware platforms and SoCs
    • Broadcom
      • Added broadband SoCs: BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146, BCM6856, BCM6855, BCM6756, BCM63148, and BCM6813. Each SoC also comes with a corresponding reference board.
      • The Asus GT-AX6000 router and the Cisco Meraki MR26 access point
    • Intel – Google Chameleon v3 FPGA board based on Intel Arria10 and Stratix 10 Software Virtual platform, both in the SoCFPGA platform.
    • NXP
      • i.MX93 SoC with Cortex-A55 cores and the Ethos-U65 NPU.
      • Multiple Toradex Colibri boards using the “Iris” and “Ixora” carriers, DH electronics i.MX8M Plus DHCOM and PDK2, TQ-Systems TQMa8MPQL, and phytech phyBOARD-Polis-i.MX8MM.
    • Marvell – Prestera 98DX2530 (AlleyCat5) network switch chip in the Armada SoC family based on the Cortex-A55 core.
    • Microchip – PCB8309 development board (Microchip lan966x)
    • STMicro – DH DRC Compact development board powered by STM32MP1

RISC-V changes in Linux 6.0

Here are some of the main changes to the RISC-V architecture

  • The RISC-V architecture now supports the “Zicbom” extension, which provides for the management of devices with non-cache-coherent DMA.
  • Enabling the FPU is now a static_key
  • Improvements to the Svpbmt support
  • CPU topology bindings for a handful of systems
  • Support for systems with 64-bit hart IDs
  • Many settings have been enabled in the defconfig, including both support for the StarFive systems and many of the Docker requirements
  • Allwinner D1 – Added RGB LCD, I2C, Pinctrl, RTC, timers, USB
  • Renesas – RZ/Five SoC gets drivers for clocks, IRQ,
  • SiFive
    • IRQ – Hotpath optimization for SiFive PLIC
    • Added PWM driver

MIPS updates

There’s still some activity for MIPS, albeit limited

  • Added support for Netgear WNR3500L v2
  • Removed support for VR41xx SoC and platforms based on it
  • Cleanups and fixes

For more details, you could check out the Linux 6.0 changelog with commit messages only, generated with the command git log v5.19..v6.0-rc7 --stat. A more readable changelog should also be found on KernelNewbies website on the website is updated.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

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

ROCK Pi 4C Plus

3 Replies to “Linux 6.0 release – Main changes, Arm, RISC-V, and MIPS architectures”

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC