We're hiring!
*

Linux kernel 6.5: USB4v2 and Wifi7 have arrived

Adrian Larumbe avatar

Adrian Larumbe
August 30, 2023

Share this post:

Reading time:

The 6.5 release is here and it comes with many changes, a thorough list of which can be found here and here. As is often the case, Collabora has been actively involved in the submission of patches, mostly in the task of hardware enablement for Mediatek and Rockchip SoCs. A more brief breakdown of the overall changes for this release can be seen below.

With regard to architectural and kernel core changes, we can underline the following:

  • X86 parallelization of initial CPU bring-up, Intel TPMI support, arm64 permission indirection extension
  • io_uring subsystem can now store ring and submission queues in user space
  • Minor improvements to Rust support
  • Support for unaccepted memory in guests kernels
  • Attaching filter functions to kfuncs in BPF
  • Loongarch architecture SMP support and Clang building
  • RISCV now supports ACPI and Vector Extension

There have also been some kernel tracing improvements: the function-graph tracer can report the return value of functions, the timer-latency tracer can now be managed from user space, and the addition of an fprobe events mechanism for tracing function entry and exit.

When it comes to filesystem and storage support, the highlight is a new feature that allows mounting a filesystem at another mounted file system's mountpoint, which will mostly be useful for containers. Also, a new system call, cachestat(), that will let user space consult which of its open file pages are resident in RAM. On top of that, the Overlay filesystem has gained support for data-only layers.

As for core kernel changes, the following ones are of particular interest:

  • The workqueue subsystem will now automatically detect CPU-intensive work items which might otherwise prevent the execution of other items. So far this feature is only enabled as a debug option.
  • There are new default kernel build compiler options for flexible arrays: these are misuse warnings and the _counted_by() GCC attribute to contain the number of elements in one such array as recorded by another structure member.
  • Several perf tool enhancements
  • A new series of scope-based resource management patches was merged, allowing variable clean-up function calls to be inserted by the compiler at the end of a variable's scope.
  • The SLAB allocator has been deprecated and altogether removed from the kernel.

To wrap up, in the field of security updates, the most significant one is secretmem now being enabled by default. And of course, lots of new hardware is now supported, the list of which goes beyond the scope of this article.

Now, amongst the changes and new features contributed by our kernel team, it's worth mentioning the following:

MediaTek

Support for the hardware decoder on the MT8192 SoC has made its way upstream as Nícolas Prado sent a missing patch for the decoder IOMMU configuration. Nícolas also fixed an issue in the ANX7625 driver that caused an infinite deferred probe loop on the Acer Chromebook 514 (MT8192-based). AngeloGioacchino Del Regno fixed issues in the MediaTek clock drivers and improved rate accuracy for MSDC clocks. He also enabled WiFi support for the Acer Chromebook Spin 513 (MT8195-based) and contributed clean-ups for the ASoC drivers on MT8195, MT8188, and MT8186. AngeloGioacchino has also continued adding support for the MT6795 SoC, including display, MMC, mailbox, the MT6331/MT6332 PMICs, and their LEDs.

Rockchip

Many changesets went into improving support for Rockchip RK3588 SoC and RK808 PMIC. Sebastian Reichel submitted a patch series that implemented RK806 PMIC support. This is required for further support of RK3588 and RK3588s-based boards, which use one or two of these chips to supply all the voltages required by modern SoCs. On top of that, he enabled support for these PMICs on one of the initial RK3588 evaluation boards and the Radxa Rock 5B board. Shreeya Patel contributed a patch series for adding ADC support for RK3588 SoC and updating its device tree bindings. Cristian Ciocaltea added a timer and OTP memory support for Rockchip RK3588 SoC, while also providing a few improvements to the existing rockchip-otp driver, as well as a couple of fixes to the ES8316 codec driver, which is used to provide analog audio support for the above mentioned boards. Nicolas Dufresne also made a change to the v4l2 core that ensures correct initialization of bit depth in Rockchip platforms where 10-bit data is stored fully packed. Benjamin Gaignard implemented AV1 stateless decoder for the very same SoC in its Verisilicon media platform drivers set. Last, but not least, Boris Brezillon added support for powering down the memory used by particular power domains via PMU_MEM_PWR_GATE_SFTCON.

AMD

On July 24, the Zenbleed (CVE-2023-20593) vulnerability was publicly disclosed, affecting the AMD processors built on the Zen 2 architecture. It turned out that the initial mitigation did not cover the AMD custom APU found in Valve's Steam Deck, although it is definitely affected by the vulnerability. Cristian Ciocaltea solved the issue by sending an urgent patch for the 6.5 kernel and for back-porting to stable releases, which extends the Zenbleed mitigation as a fallback fix until a proper CPU microcode update is made available.

Other changes

Boris Brezillon made changes to the DRM scheduler core's management of job fences. Dmitry Osipenko has improved virtio-gpu's execbuf submission and dma-fence wait mechanism.

Below is a full list of contributions made by Collabora for the 6.5 release, as recorded in the git commit history:

Authored (149):

Adrián Larumbe (2):

AngeloGioacchino Del Regno (52):

Benjamin Gaignard (15):

Boris Brezillon (4):

Christopher Obbard (2):
Cristian Ciocaltea (15):

Daniel Almeida (1):

Daniel Stone (1):

David Heidelberg (2):

Detlev Casanova (3):

Dmitry Osipenko (2):

Eugen Hristev (1):

Lucas Tanure (1):

Muhammad Usama Anjum (2):

Nicolas Dufresne (2):

Nícolas F. R. A. Prado (5):

Ricardo Cañuelo (2):

Sebastian Reichel (29):

Shreeya Patel (8):

Maintainer Committed (30):

Sebastian Reichel (30):

Signed-off-by (8):

AngeloGioacchino Del Regno (1):

Sebastian Reichel (5):

Shreeya Patel (2):

Reviewed-by (118):

AngeloGioacchino Del Regno (89):

Emil Velikov (2):

Martyn Welch (1):

Muhammad Usama Anjum (3):

Nicolas Dufresne (13):

Nícolas F. R. A. Prado (4):

Pekka Paalanen (1):

Sebastian Reichel (5):

Acked-by (10):

Nicolas Dufresne (2):

Pekka Paalanen (1):

Sebastian Reichel (7):

Tested-by (20):

AngeloGioacchino Del Regno (4):

Christopher Obbard (1):

Benjamin Gaignard (1):

Muhammad Usama Anjum (10):

Nicolas Dufresne (2):

Nícolas F. R. A. Prado (2):

Reported-by (1):

Nícolas F. R. A. Prado (1):

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Upstream support for Rockchip's RK3588: Progress and future plans

20/12/2024

The Rockchip RK3588 upstream support has progressed a lot over the last few years. As 2024 comes to a close, it is a great time to have…

Academically inclining at NeurIPS 2024

09/12/2024

Collabora will be at NeurIPs this week to dive into the latest academic findings in machine learning and research advancements that are…

Apertis v2024: the new Bookworm-based release for industrial embedded devices

05/12/2024

Now based on Debian Bookworm, Apertis is a collaborative OS platform that includes an operating system, but also tools and cloud services…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2024. All rights reserved. Privacy Notice. Sitemap.