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

Linus Torvalds has just released Linux 5.10:

Ok, here it is – 5.10 is tagged and pushed out.

I pretty much always wish that the last week was even calmer than it was, and that’s true here too. There’s a fair amount of fixes in here, including a few last-minute reverts for things that didn’t get fixed, but nothing makes me go “we need another week”. Things look fairly normal.

It’s mostly drivers – as it should be – with a smattering of fixes all over: networking, architectures, filesystems, tooling.. The shortlog is appended, and scanning it gives a good idea of what kind of things are there. Nothing that looks scary: most of the patches are very small, and the biggest one is fixing pin mapping definitions for a pincontrol driver.

This also obviously means that the merge window for 5.11 will start tomorrow. I already have a couple of pull requests pending – you guys know who you are, and thank you.

The most notable thing about the 5.11 merge window will be obvious to anybody who takes a look at the calendar: realistically speaking, we only have one week before the holidays are upon us, and everybody is much too distracted. That means that I will be particularly strict about the whole “the merge window is for things that are ready *before* the merge window starts”.

Now, I’m sure you all want to go off for holidays too, and I’m actually surprised that I don’t have more early pull requests pending. So I think the whole “everything you send me should have already been done” is something we can all sign up for. But exactly _because_ of the timing, I will simply not be very interested in any new late pull requests that come in the second week of the merge window: I expect to still be  handling some of the backlog that week _anyway_, but I certainly do not want to get more of it.

So if it’s not already in linux-next, and if you aren’t happy sending it in this upcoming week because it’s not quite done yet, you should basically plan on not getting it into 5.11 at all. There will be releases after that one, don’t worry.

This has _technically_ been the rule before too, it’s just that I generally haven’t been all that hard-nosed about it, and have let things slide if it wasn’t _too_ egregious. This time around I have fairly clear reasons why I’m just going to enforce that “it had better be ready before the merge window even opened” rule.

If my overflow handling then ends up being interrupted by the holidays, I may end up delaying rc1 just to catch up, but I hope and expect that that won’t even be needed. We’ll see. But even if it does happen, it most certainly will _not_ mean that I will take pull requests that came in after the holidays.

Actual fixes that would be valid even outside the merge window are obviously not affected by that rule.

Linus

The previous Linux 5.9 release brought us support for zstd compression for the kernel and initramfs, initial support for AMD Radeon RX 6000 graphics cards and the CPU in Rocket Lake processor, initial support for Intel Emmitsburg architecture, and more.

Linux 5.10 release

As you must have already guessed from the title of this post Linux 5.10 will be an LTS kernel getting long-term support for at least 2 years, and possibly up to 6 years. Some of the other highlights for the Linux 5.10 release include:

  • EXT-4 performance improvements with fast commit support that enables faster metadata performance, notably when using fsync. The feature needs to be enabled during mkfs. You’ll find more details and some benchmarks in the commit message.
  • The BCM2711 (Raspberry Pi 4) display pipeline has been enabled since all DRM changes are ready. This notably allows for triple display support on Raspberry Pi 4 (2x HDMI + MIPI DSI).
  • Static calls for improved post-Spectre performance. Static calls are a replacement for global function pointers. They use code patching to allow direct calls to be used instead of indirect calls, and give the flexibility of function pointers, but with improved performance. Read more on LWN article “Relief for retpoline pain”.

As a side note, I noticed an interesting commit message related to Raspberry Pi with some code written to handle HDMI interfering with WiFi in special cases:

The RaspberryPi4 has both a WiFi chip and HDMI outputs capable of doing 4k. Unfortunately, the 1440p resolution at 60Hz has a TMDS rate on the HDMI cable right in the middle of the first Wifi channel.

Add a property to our HDMI controller, that could be reused by other
similar HDMI controllers, to allow the OS to take whatever measure is
necessary to avoid that crosstalk.

Linux 5.10 Changelog for the Arm architecture

  • ARM64 – ARM Memory Tagging Extension – Memory Tagging Extension (part of the ARMv8.5 Extensions) provides a mechanism to detect the sources of memory-related errors that may be vulnerable to exploitation, including bounds violations, use-after-free, use-after-return, use-out-of-scope, and use before initialization errors. Read that LWN article for details.
  • Allwinner
    • Allwinner A100 – Clocks, Pinctrl, I2C, Thermal (THS)
    • Allwinner R40 – DMA, GPU Mali, IR, SRAM, Video_Engine | Sunxi-Cedrus
    • Allwinner V3s – Crypto, SimpleFB, SRAM
    • New Devices – Allwinner A100 based Perf1 board
  • Rockchip
    • Clock driver – Allow Rockchip clk driver to be a module
    • PHY driver – Rockchip dphy driver moved from staging
    • New boards – NanoPi R2S board, A95X-Z2 TV box board, more Rock Pi 4 variants
  • Amlogic
    • Clock driver – Update audio clock inverter and fdiv2 flag on Amlogic g12, make amlogic clk drivers configurable in Kconfig
    • PCI updates – Build Amlogic Meson PCIe controller driver as module by default
    • DRM – Add Panfrost support for Amlogic SoCs (with T820, G31, or G52 GPU)
    • New board – Libretch S905x CC V2 board, Hardkernel ODROID-N2+ board
  • Samsung
    • Major cleanup of Samsung S3C24xx and S3C64xx platforms, moving them
      closer to multiplatform support
    • Mach/SoC changes
      • Clear unneeded L2C-310 flag which presenc was triggering warning
        message.
      • Fix build of SAMSUNG_PM_DEBUG without MMU.
      • Minor cleanups and update of linux-samsung-soc mailing list in
        Maintainers.
    • Defconfig changes for Linux 5.10
      • Re-enable platform media drivers as new dependency on
        MEDIA_PLATFORM_SUPPORT appeared.
      • Enable ROHM BD718x7 PMIC present on some of the boards with i.MX 8 SoCs.
      • Enable Samsung S3FWRN5 NFC driver present on TM2/TM2E boards.
    • DTS ARM64 changes – Cleanup of Exynos DTS to fix as many dtschema warnings as possible. This includes adding missing compatibles and using non-deprecated properties. Changes should not have a visible impact.
    • DTS ARM changes
      • Add sound support to Galaxy S3/Midas family (Exynos4412).
      • Add sound support to Galaxy S/Aries family (S5Pv210).
      • Configure L2C-310 cache controller via DTS on Exynos4.
      • Big cleanup of Exynos DTS to fix as many dtschema warnings as
        possible.
  • Qualcomm
    • Spectre/Meltdown safelisting for some Qualcomm KRYO cores
    • Clocks – Support qcom SM8150/SM8250 video and display clks
    • Qualcomm PCIe controller driver – Reset PCIe to work around Qsdk U-Boot issue
    • Pinctrl – New subdriver for the Qualcomm MSM8226 SoC
    • PHY – Support for Qualcomm sc7180 DP phy
    • ARM64 DTS updates for Linux 5.10
      • Cleanup, refactor and modernize MSM8916 by sorting nodes, moving device and platform-specific parts to their respective files, add and use
        labels for reference nodes and use IRQ defines. Migrate TCSR mutex off
        the deprecated binding, add resin node for PM8916.
      • Add LPASS clock controller for SC7180. Fix the LLCC reg, increase
        interconnect-cells, drop flags on MDSS irqs. Add interconnects for
        display, eMMC and SD-card, specify ‘sustainable_power’ for CPU thermal zones, improve pinconf states related to UART and Bluetooth. Add new DT for Lazor and Trogdor.
      • Increase #interconnect-cells for SDM845 to allow tags, add OPP tablesand power-domains for Venus and interconnects for display. Fix the ports on the HDMI nodes for DB845c and add DT for the Xiaomi Poco F1.
      • Add interconnect providers, fix up primary USB’s clock and use
        dt-binding defines for GPU clocks on SM8150.
      • Add interconnect providers, CPUfreq, thermal configuration and missing uarts for SM8250. Fix up naming of debug uart, add always-on supply clock to gcc, fix up the sleep clock rate and define OPP tables for all QUP devices. Then add a new DeviceTree for the QRB5165 RB5 board.
      • Enable watchdog on IPQ8074 and use the appropriate compatible for the PMU node. Enable DVFS support for IPQ6018.
      • Correct the spelling of “interrupts” in MSM8992 uart node, fix missing # in PM660 #interrupt-cells, add second VFE power-domain to camss in MSM8996 and sort the Makefile.
  • MediaTek
    • Clocks – Support Mediatek MT8167 clks
    • Pinctrl – New subdriver for the Mediatek MT8192 SoC
    • IOMMU – Support for the MT8167 IOMMU in the Mediatek IOMMU driver
    • Networking – Support for 7-port Mediatek MT7531 IP
    • Media – Mediatek VPU gained support for MT8183
  • Other new Arm hardware platforms and SoCs
    • Actions Semi – S500: Caninos Loucos Labrador SBC, RoseapplePi SBC
    • Aspeed boards/platforms – AST2500: Wistron Mowgli Power9 OpenPower server, Facebook Wedge400 ToR switch
    • Hisilicon – SD5203 SoC (ARM926EJ-S)
    • Nvidia – Tegra234 VDK, for pre-silicon Orin SoC used in the NVIDIA DRIVE AGX Orin
    • NXP i.MX – Librem 5 phone, i.MX8MM DDR4 EVK, Variscite VAR-SOM-MX8MN SoM, Symphony board, Tolino Shine 2 HD, TQMa6 SoM, Y Soft IOTA Orion
    • STM32 – Odyssey SOM board (STM32MP157CAC-based); DH DRC02 board
    • Toshiba – Visconti SoC and TPMV7708 board

MIPS updates

  • Removed support for PNX833x alias NXT_STB22x
  • Included Ingenic SoC support into generic MIPS kernels
  • Added support for new Ingenic SoCs (JZ4775, X1000E, X2000, X2000E, X1830)
  • Converted workaround selection to use Kconfig
  • Replaced old boot mem functions by memblock_*
  • Enabled COP2 usage in kernel for Loongson64 to make use of 16byte load/stores possible
  • Cleanups and fixes

Linux 5.10 changes for RISC-V architecture

  • Support for EFI-based systems
  • Improvements to how we fill out cacheinfo
  • A handful of cleanups for our page fault handling

For a very detailed Linux 5.10 changelog, you can check all commit messages for Linux 5.10 generated with the command git log v5.9..v5.10 --stat here. An easier way to read a thorough changelog is to check out KernelNewbies website.

Share this:

Support CNX Software! Donate via PayPal or cryptocurrencies, become a Patron on Patreon, or buy review samples

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.
0 Comments
Advertisement