We're hiring!
*

Kernel 6.4: More work on MediaTek, Rockchip, and power supply

Rogerio Alves Cardoso avatar

Rogerio Alves Cardoso
July 05, 2023

Share this post:

Reading time:

Released last week, Linux kernel 6.4 brings various new features such as support for Intel LAM (Linear Address Masking), user events for tracing, and the ability for the machine keyrings used for Machine Owner Keys (MOK) to store only CA-enforced keys. AMD's P-State Guided Autonomous Mode driver extension has also been accepted into this latest kernel. This allows the OS scaling governor to specify minimum and maximum frequency/performance levels through the Minimum Performance and Maximum Performance registers, and the platform autonomously selects an operating frequency within this range.

Linux 6.4 also comes with new and updated drivers. Kernel 6.4 adds a pin-init API to prevent unsafe Rust code in the Kernel, updates to the sync module, a new ioctl module, and more. We might soon have the first Rust driver upstream.

Regarding security, there is some news. Security Enhanced Linux (SELinux) can no longer be disabled at runtime in the Linux 6.4 kernel. Unfortunately, the long-awaited Shadow Stack hardware security feature didn't make it into this release.

Let's take a look at the contributions made by Collabora's engineering team for this cycle:

MediaTek

AngeloGioacchino Del Regno reviewed and tested hundreds of MediaTek patches and also submitted some drivers:

  • MediaTek Clock drivers restructuring: The first part of this work was merged in kernel 6.3 and prepared things to support the restructuring. The idea was to add a layer that allows propagating the struct device when registering clocks, resulting in improved reliability. The driver changes were already scheduled for 6.4, and most patches are now upstream..
  • MediaTek DTS: Various cleanups, fixes, and features were added. Support for the Sony Xperia M5 smartphone (mt6795) feature was added, including Frequency Hopping with FHCTL, Touchscreen support, Accelerometer, Magnetometer, Proximity sensor, and NFC support.
  • MediaTek Regulator Coupler: In order to get GPU Dynamic Voltage and Frequency Scaling (DVFS) working, it was necessary to satisfy a specific constraint between two regulators: GPU VCORE and GPU SRAM. This can be achieved by adding the mtk-regulator-coupler driver (merged in v6.3), which transparently manages the voltage relation between them, eliminating the need to manage these regulators in the Panfrost driver. This can allow us to save power without giving up performance. Chromebooks with new MediaTek SoCs containing Arm Mali GPUs (MT8186/MT8192/MT8195) are now using this, and MT8183 support was also improved (with new compatibility to enable DVFS without breaking ABI). Alyssa Rosenzweig also made contributions enabling the GPU on MT8192.

Rockchip

The team continued their efforts towards improving support for the Rockchip RK3588 SoCs.

Cristian Ciocaltea added support for the ES8316 codec-based analog audio on Radxa's Rock 5 model B SBC and provided the required DT changes to enable the I2S controllers found on the RK3588 SoCs. Additionally, he enabled the PWM-controlled heat sink fan and extended the Fairchild FAN53555 driver to control the RK860X voltage regulators, which are used to power the ARM Cortex-A76 cores and the NPU on the same board.

Sebastian Reichel added thermal support for the new RK3588(s) SoC series, and Shreeya Patel enabled watchdog support.

Power Supply

Sebastian Reichel reviewed and merged patches as the power-supply subsystem maintainer. One of the more interesting ones in this cycle is a patch contributed by AMD. It fixes an issue that systems without battery/charger devices (e.g. desktops) incorrectly report being powered by battery. Normally that is avoided by the power-supply core reporting to run from AC power if there are no battery devices. But this logic incorrectly considered a device-scope device (e.g. a wireless mouse with battery report capabilities). AMD noticed this issue with recent GPUs that registered a power-supply charger for their USB-C ports. The AMD driver uses this information for its dynamic power management, so incorrect detection results in decreased performance.

Other changes

Lucas Tanure worked on code refactoring and cleanups for the Vangogh acp5x machine driver. Muhammad Usama Anjum fixed Write Protect errors when the range doesn't fall within one VMA (multiple VMAs are present in one range of interest). From the codec side, Benjamin Gaignard made a change in the HEVC/VP9 driver to only expose 10-bit pixel formats. David Heidelberg added RT5631 CODEC (nvidia/tegra-audio). Dmitry Osipenko changed the locking policy that could cause a deadlock for DRM drivers.

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

Authored (224):

Alyssa Rosenzweig (5):

AngeloGioacchino Del Regno (126):

Benjamin Gaignard (8):

Cristian Ciocaltea (36):

David Heidelberg (1):

Dmitry Osipenko (6):

Lucas Tanure (18):

Muhammad Usama Anjum (4):

Nicolas F. R. A. Prado (2):

Robert Mader (1):

Sebastian Reichel (13):

Shreeya Patel (4):

Maintainer Committed (40):

Dmitry Osipenko (7):

Sebastian Reichel (33):

Signed-off-by (11):

Cristian Ciocaltea (1):

Nicolas F. R. A. Prado (1):

Sebastian Reichel (9):

Reviewed-by (177):

Alyssa Rosenzweig (1):

Andrzej Pietrasiewicz (1):

AngeloGioacchino Del Regno (149):

Reported-by (2):

AngeloGioacchino Del Regno (1):

Sebastian Reichel (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.