August 02, 2022
As usual, there are quite a few changes merged into the mainline; among the most interesting are:
Looking at the version history, one may notice the 3.x kernel series ended with version 3.19, while the 4.x series ended at 4.20. As there is no clear naming convention for future kernel versions, it remains to be seen if Linus will decide to end this series with version 5.19 or to extend it to 5.20 or beyond.
Now let us dive into the great contributions made by our team!
AngeloGioacchino Del Regno continues his amazing work on improving the support for MediaTek SoCs by providing micro-optimizations for the MediaTek DRM driver, cleanups for MUSB/SPI/I2C, and fixes for the PCI-Express Gen3 controller initialization in order to get WiFi working on the MT8195 Tomato Chromebooks. Additionally, he took care of getting the MT6795 (MediaTek Helio X10) SoC in a usable state, which enables the initial support for a significant number of older smartphones, thus helping with e-waste reduction.
As part of the groundwork on upstreaming the mt8192-based Asurada platform, a lot of dt-bindings were updated by Nícolas F. R. A. Prado. He also fixed a couple of bugs, notably the wrong configuration of the DPI module on mt8192 that prevented it from driving an external display.
Sebastian Reichel is adding support for the new Rockchip RK3588 SoC, with the pin controller support and some bindings having been merged in v5.19. The remaining required changes, the most significant of which is the clock controller, are in progress over the next kernel release(s).
The Linux kernel has had support for chaining system restart handlers for quite some time. It allows multiple power drivers to try restarting a machine one driver after another until one of the drivers succeeds or all fail.
A similar feature was desired in case of a power-off, too since it wasn't possible to turn off some devices properly without relying on power-off chaining.
There have been a few attempts to implement a power-off chaining API in the kernel over the past eight years. Fortunately, the last attempt was successful - the API version developed by Dmitry Osipenko has been merged into the 5.19 kernel.
Benjamin Gaignard continues his effort to improve Hantro HEVC decoding support and G2 post processor scaling capabilities.
Christopher Obbard enabled video decoding support for Rockchip RK3328 while Nicolas Dufresne added interlaced decoding support to the H.264 frame-based decoders for Hantro and RKVDEC along with some fixes to the H.264 profile and level reporting.
In a significant milestone event, after more than two years of development, the HEVC uAPI will finally be merged in the next kernel version.
In datacenters, the storage devices are typically exposed through multiple redundant paths to the back-end storage. The Linux kernel provides mechanisms called multipath path selectors which contain the heuristics to decide which path (i.e. physical port) to use when sending a block IO to a storage with multiple connections.
The Historical Service Timer is a recently-merged multipath path selector that uses statistics of past I/O latency of each path to decide the route to use for incoming I/O in redundant environments. Recently, we identified that it didn't perform as well for BIO-based multipath as it did for request-based multipath, due to a precision limitation on the timer sampled for statistics in that mode, which degraded its prediction.
Gabriel Krisman Bertazi provided a patch that introduces the use of a higher resolution timer (nanoseconds) for HST, which results in much better performance for multipath I/O dispatching in this mode.
Recently we observed a regression in the Steam Deck kernel where the soft-dirty bit wasn't getting reset after a quick succession of resetting it and checking via procfs. We traced the issue back to a missing TLB flush and learned that it was already fixed upstream by the community. To ensure this bug will never sneak in again, Gabriel Krisman Bertazi and Muhammad Usama Anjum pushed a testcase that reproduced the issue to the kselftest project.
Still related to the Steam Deck, Cristian Ciocaltea investigated and fixed an issue with the AMD SPI controller driver as a prerequisite to enable the sound support for this already well-known device.
Dmitry Osipenko fixed a longstanding "scheduling while atomic" problem in the DRM scheduler code that bothered multiple GPU drivers by occasionally crashing the kernel when closing applications.
Muhammad Usama Anjum added the ChromeOS ACPI device driver, which is a step forward in running mainline kernels on Chromebook devices with all functionalities enabled. Moreover, he made several improvements to the generic Kselftest subsystem.
Additional contributions include improved support for the Sensortek STK3310 ambient light/proximity sensor (Arnaud Ferraris) and the SH SystemMaster (SMM) S2 PRO board (Ariel D'Alessandro), updates to the Qualcomm Snapdragon device tree bindings (David Heidelberg), an optimization around the CrossTalk/SRBDS (CVE-2020-0543) vulnerability in Intel processors (Ricardo Cañuelo), a fix for generating the cscope/ctags database when the kernel is configured to build a large number of modules (Cristian Ciocaltea), media documentation updates (Sebastian Fricke), and more.
As usual, there are quite a few changes merged into the mainline kernel. Let's take a look at some of the contributions by Collabora's kernel…
The latest release of Weston was made on February 1, 2022. Meanwhile, a few bugs were discovered and we decided to do a bug-fix release,…
Part steadfast approach - part welcoming spirirt; Collabora continues to successfully expand with new talent amply on deck. Well ahead of…