Cristian Ciocaltea
March 26, 2025
Reading time:
The release of kernel 6.14 emphasizes the continuing growth and maturity of the Linux ecosystem and delivers new features, improvements, and optimizations that everyone will be eager to explore. While a comprehensive list would be extensive, below are some of the highlights we’re excited about:
Once again, we recommend the LWN's articles to get an overview of all the changes in this development cycle: part 1 and part 2.
As usual, Collabora engineers continued their kernel development efforts and managed to provide some interesting contributions, so let's take a quick look:
On 6.14, Genio 700 and 510 EVK boards have gained sound output support thanks to the patches sent by Nícolas Prado. The configs for ethernet were also added to the defconfig as part of getting these boards set up for automated testing with KernelCI.
Nícolas also landed two fixes for suspend issues. One affecting MT8195 as seen in the Tomato Chromebooks, and another affecting MT8186 as seen in the Steelix Chromebooks. Both platforms are now able to suspend and resume without issue.
While developing a driver for the HDMI Transmitter IP found in the MediaTek Genio 1200 MT8395, Genio 700 MT8390, and Genio 510 MT8370 SoCs, Angelo observed that the HDMI PHY could autonomously control the HDMI VBUS regulator. He promptly incorporated this feature into the PHY driver as part of his work on introducing the upcoming HDMI Transmitter driver.
Moreover, while working on the enablement of additional hardware for the MediaTek Genio 700 Evaluation Kit, he noticed that while his newly introduced devicetree nodes were correct, connecting a USB Type-C device to the board's USB Type-C PD connector failed to trigger an insertion alert interrupt from the RIchTek RT1715 Type-C Port Controller. After thorough debugging, he identified that the probe function of the tcpci_rt1711h driver, which provides support for both RT1711H and RT1715 controllers, was disabling hardware interrupts for those chips without ever re-enabling them. Addressing this issue allowed him to achieve full functionality.
Even though the driver fixes landed in Kernel v6.14, his devicetree changes enabling Type-C plug detection, orientation switching, and alternate mode on both Genio 700 and Genio 510 EVKs are expected to be included in Kernel v6.15.
Benjamin Gaignard improved the AV1 stateless video support on the RK3588 to enable the decoding of streams where the resolution dynamically changes between keyframes.
Cristian Ciocaltea enabled the Rockchip-specific extensions for Synopsys DesignWare HDMI QP driver in defconfig, which is required to provide HDMI output functionality for the RK3588 SoC family. He also wired the support for the second HDMI TX controller found on some of these SoCs. Unfortunately, the corresponding devicetree updates didn't make it in time for the v6.14 merge window, hence we will get them in v6.15, along with improved handling of the display modes.
Sebastian Reichel managed to land proper support for a special clock type found in most of the recent Rockchip SoCs known as "linked gate clocks." These clocks act like common clock gates; they take in a parent clock and then forward or block it based on a bit in a configuration register. They are special in that they also need a second clock to be enabled in addition to the forwarded parent clock. So far this has been solved by keeping the extra clocks of all linked gate clocks always enabled, which unnecessarily wastes power.
Linux 6.14 aims to fix an audio breakage issue on the Valve Steam Deck OLED variant when the system resumes from suspend. It's worth noting the investigations raised major challenges, as the reproducible rate varied randomly, in some cases being necessary to go through hundreds of successful suspend/resume cycles. On top of that, it was virtually impossible to make efficient use of any kernel debugging techniques due to the annoying side effect of hiding the actual problem. Eventually, Cristian Ciocaltea managed to submit a patch series providing a new ACP quirk to address the issue, as well as a few additional improvements to the AMD Vangogh/ACP SOF drivers.
Various improvements for the Panthor driver were merged, as well as fixes to the hotplug event handler and infoframes generation in the HDMI connector framework.
A bunch of ASoC and kselftests-related enhancements were provided while also dropping an obsolete helper from the clock subsystem after switching all remaining users to a new variant.
AngeloGioacchino Del Regno:
Benjamin Gaignard:
Boris Brezillon:
Cristian Ciocaltea:
Derek Foreman:
Detlev Casanova:
Laura Nao:
Muhammad Usama Anjum:
Nicolas Dufresne:
Nicolas Frattaroli:
Nícolas F. R. A. Prado:
Sebastian Reichel:
Sjoerd Simons:
AngeloGioacchino Del Regno:
Boris Brezillon:
Dmitry Osipenko:
Sebastian Reichel:
Sebastian Fricke:
Adrian Larumbe:
AngeloGioacchino Del Regno:
Benjamin Gaignard:
Boris Brezillon:
Cristian Ciocaltea:
Daniel Almeida:
Dmitry Osipenko:
Muhammad Usama Anjum:
Nicolas Dufresne:
Pekka Paalanen:
Sebastian Reichel:
AngeloGioacchino Del Regno:
Muhammad Usama Anjum:
Pekka Paalanen:
AngeloGioacchino Del Regno:
Daniel Almeida:
Derek Foreman:
Detlev Casanova:
Dmitry Osipenko:
Muhammad Usama Anjum:
Nícolas F. R. A. Prado:
Sebastian Reichel:
Muhammad Usama Anjum:
17/04/2025
Our commitment to open source extends beyond contributing code. We are dedicated to upholding the highest standards of license compliance…
15/04/2025
This May, Embedded Recipes 2025, co-sponsored by Collabora, heads to Nice, France with talks, workshops, and a PipeWire hackfest, all bookended…
14/04/2025
PanVK has reached a new milestone, and is now officially conformant with the Vulkan 1.1 specification on the Arm Mali-G610 GPU! The submission…
Comments (1)
HR:
Mar 30, 2025 at 10:37 AM
"Sebastian Reichel managed to land proper support for a special clock type found in most of the recent Rockchip SoCs known as "linked gate clocks." These clocks act like common clock gates; they take in a parent clock and then forward or block it based on a bit in a configuration register. They are special in that they also need a second clock to be enabled in addition to the forwarded parent clock. So far this has been solved by keeping the extra clocks of all linked gate clocks always enabled, which unnecessarily wastes power."
Can't wait to see if the included patches in 6.15 prove to go beyond the already published patches for 6.13 and 6.14 on the mailing lists.
2 Issues with powersaving of rockchip devices though. During booting no all devices on board are active and a rk3588s typically shows around 1,3W consumption. After booting this increases to approximately 1,7W depending on the specific board used (assuming minimal attached devices).
The specific issues:
1- why do the rk3588 (rock5b) need about 2W in idle with nvme on pcie3x4? (For the rk3588s this problem is also present, but with pcie2x1 less pronounced.)
2- is it possible to reduce the consumption of the GPU and VPU when working headless?
It would seem to be possible to lower the consumption of the pcie in idle. But pPerhaps this is just wishfull thinking on my part and crucial powersaving options are missing in the pcie implementation. I do realize that the pcie3 requires a 8GHz clock signal and the pcie2 5GHz.
For the gpu/vpu it might be possible to use some nihilistic setting in the DT. Then again if 90% of the gains have already been gained, the resulting gains might be neglectable.
Would you categorize powerconsumption gains for pcie/nvme or gpu/vpu as practicle, impossible or as "theoretically possible but practically more effort than gains"?
Reply to this comment
Reply to this comment
Add a Comment