We're hiring!
*

Kernel 6.9: Enable, test, repeat

Nícolas Prado avatar

Nícolas Prado
May 14, 2024

Share this post:

Reading time:

Kernel 6.9 has been released. Notably, it includes support for Rust on the ARM64 architecture and changes the energy model at run time, allowing the kernel to save power more effectively. Check out LWN's articles for an overview of this release: part 1 and part 2.

Collabora's engineers continue to be involved in the hardware enablement for a few different system-on-chips (SoCs) and platforms, and have also contributed significant improvements to kernel testing. Read on for the highlights.

Steam Deck

Cristian Ciocaltea continued his efforts to improve the AMD Sound Open Firmware (SOF) support, targeting the AMD Van Gogh platform as found on Valve's Steam Deck OLED model. In this release he has contributed Digital Signal Processing (DSP) firmware regression fixes and topology handling, which brought the audio back to a working state.

MediaTek

On the MediaTek front, AngeloGioacchino Del Regno has, as part of his role as a maintainer, reviewed and merged support for Chromebooks based on the MT8186 SoC, which includes the ASUS Chromebook CM14, ASUS Chromebook CM14 Flip, Lenovo 300e Yoga Chromebook Gen 4, Lenovo 100e Chromebook Gen 4, and Lenovo IdeaPad Slim 3 Chromebook. Support for audio and external display are notably missing at this point. Furthering the MT8186 support, Eugen Hristev has landed support for the video encoder, while Nícolas Prado added a missing power domain description in the devicetree, allowing MT8186 to boot with the upstream defconfig.

Angelo has also upstreamed initial support for the MT8395 Radxa NIO 12L board, which already gets it in a usable state with working internal storage and network (both Ethernet and WiFi). He also landed a driver for the ITE IT5202 USB Type-C Alternate Mode Passive MUX, a first step to getting the external display on MT8395 working. By adding support for the MTU3 Dual Role controller on MT8195 and MT8395, this allowed him to fix the previously incorrect description of the USB Controllers for those SoCs, paving the way to enable USB Gadget mode on the Type-C ports of the various Genio 1200-powered SBCs.

Rockchip

This is a quieter release for the Rockchip RK3588 enablement; it did not bring any big new features but instead prepares things for future kernel releases:

Cristian Ciocaltea prepared a series adding support for the HDMI PHY, the physical layer taking care of the HDMI output. It's also capable of eDP, but for now the focus is on HDMI 2.0 up to 1080p. Improved support for higher resolutions, such as 4K, is being planned to follow soon. With VOP2 support already being added in v6.8, this means only the HDMI bridge driver is missing to finally have a working display output.

Sebastian Reichel managed to land a series fixing a couple of clock dependency issues for the RK3588, which are required to bring-up HDMI (input and output). These patches were also a preparation for landing proper support for clocks with two parents. Right now such clocks are handled by keeping the second parent always enabled, which wastes power. The final patch of this series, which would complete the support for clocks with two parents, has not been merged in v6.9, though.

RISC-V

Cristian Ciocaltea extended the StarFive DWMAC platform driver to support the Ethernet controller built into the JH7100 SoC and provided the necessary devicetree changes to enable networking on StarFive VisionFive V1 and BeagleV Starlight Single-board Computers (SBCs).

Testing

Detlev Casanova added a tpg_verbose parameter to the visl driver. It changes the default behavior to make it output stable frames that can be compared to a hash by test tools like Fluster.

Laura Nao introduced a kselftest to validate the correct probing of Rust sample modules (specifically, rust_minimal and rust_print). This is the first kselftest for Rust, complementing the existing KUnit and #[test] tests and paving the way for further Rust testing within the kernel.

Muhammad Usama Anjum has been on a mission to improve kselftest quality. To do so, he has been removing flakiness, porting to the Test Anything Protocol (TAP) format and fixing bugs in the tests. All of these improvements go a long way to not only help identify failures, but also help the developers and Continuous Integration (CIs) systems to understand where and when the failure occurred so that it can be better understood and fixed.

Nícolas Prado has introduced two new tests: the power_supply kselftest, which validates the properties exposed by power supplies to user space, and the devices kselftest which takes a static description of USB and PCI devices on the system and uses it to verify that all of them have been successfully probed to a driver. Now there are two new tools to further help the detection of issues.

Nícolas has also worked on cleaning up and tweaking device error logs so that real errors can be more clearly identified and assigned to a specific device, which is particularly important for automated testing. The idea is to take this further in a future kernel release with the addition of a test to report any device errors, which is currently under review in the mailing list.

Video4Linux (V4L2)

The clean up and improvement patches merged for the V4L2 framework in the previous release have revealed a deadlock in the usbtv driver which Benjamin Gaignard has fixed in this release.

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

Authored:

Andrzej Pietrasiewicz:

AngeloGioacchino Del Regno:

Benjamin Gaignard:

Boris Brezillon:

Cristian Ciocaltea:

David Heidelberg:

Derek Foreman:

Detlev Casanova:

Eugen Hristev:

Frédéric Danis:

Julien Massot:

Laura Nao:

Muhammad Usama Anjum:

Nicolas Dufresne:

Nícolas F. R. A. Prado:

Sebastian Reichel:

Sjoerd Simons:

Vignesh Raman:

Maintainer Committed:

AngeloGioacchino Del Regno:

Dmitry Osipenko:

Helen Koike:

Sebastian Reichel:

Signed-off-by:

Eugen Hristev:

Muhammad Usama Anjum:

Sebastian Fricke:

Sebastian Reichel:

Reviewed-by:

AngeloGioacchino Del Regno:

Cristian Ciocaltea:

Daniel Almeida:

David Heidelberg:

Emil Velikov:

Julien Massot:

Muhammad Usama Anjum:

Nicolas Dufresne:

Nícolas F. R. A. Prado:

Sebastian Reichel:

Acked-by:

Helen Koike:

Nícolas F. R. A. Prado:

Pekka Paalanen:

Vignesh Raman:

Tested-by:

AngeloGioacchino Del Regno:

Julien Massot:

Laura Nao:

Muhammad Usama Anjum:

Nícolas F. R. A. Prado:

Reported-by:

Daniel Almeida:

Laura Nao:

Muhammad Usama Anjum:

 


Add a Comment






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


 

Search the newsroom

Latest News & Events

Implementing DRM format modifiers in NVK

16/05/2024

This week we merged support for the VK_EXT_image_drm_format_modifier extension in NVK, the new open-source Vulkan driver for NVIDIA hardware.…

Kernel 6.9: Enable, test, repeat

14/05/2024

Collabora's engineers continue to be involved in the hardware enablement for a few different system-on-chips (SoCs) and platforms, and have…

SteamOS 3.6: How the Steam Deck atomic updates are improving

10/05/2024

Highlighting some of the key changes Collabora worked on with Valve to improve the system update tooling on SteamOS, including the move…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

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