We're hiring!

Kernel 5.10: Rockchip, H.264, Bifrost & more!

Ricardo Cañuelo Navarro avatar

Ricardo Cañuelo Navarro
December 14, 2020

Share this post:

Reading time:

Linux Kernel 5.10 has just been released, just as 2020 is about to reach its end. As Linus himself commented, this was a bigger release than expected. This underlines the enormous driving force that open software has: even amidst the chaos and the uncertainty that this year brought, Linux Kernel development keeps moving forward at a constant and relentless pace, which is reassuring and a way of keeping us grounded and mindful that the world keeps spinning.

This version will be the next LTS release, you can find an overview of the significant changes it contains at LWN: part 1 and part 2.

As with every release, Collabora has contributed a good number of patches and remains active developing, maintaining, documenting and testing many parts of the kernel. Here are some of our contributions.

Rockchip ISP driver ready to be moved out of staging

Collabora has a long history of contributions to Rockchip's media drivers, among them is the continuing support to the RK3399 ISP. Since it was upstreamed in v5.6 as a staging driver we have worked intensively on solving bugs and other issues to make it more capable and stable. As a result it will finally be moved out of staging in v5.11.

Dafna Hirschfeld has been working on some bug fixes and improvements for the driver 1 2 3.

H.264 uAPI cleanup and destaging effort

The Linux uAPI is the API that the Linux kernel exposes to userspace. The V4L2 uAPI, for example, contains all the definitions that a userspace program could need in order to communicate with the V4L2 framework and perform any operation on a device such as a video capture card or a codec.

v5.10 has seen some additional work by Ezequiel García on the ongoing cleanup of the V4L2 H.264 staging uAPI with the goal of stabilizing it and promoting it as a first class public uAPI.

The H.264 stateless codec is probably the most commonly used video codec and the API is now considered stable, which is a great step forward. The pull request for destaging the uAPI was sent on November and it will by finally destaged in the next kernel release (v5.11).

Panfrost now officially supports Bifrost GPUs

Collabora continues working steadily on Panfrost, the free and open source driver for Mali Midgard and Bifrost GPUs. Development has hit another milestone with Linux 5.10, as it now supports Bifrost GPUs officially.

Thanks to Alyssa Rosenzweig, Tomeu Vizoso, Rohan Garg, Boris Brezillon and Italo Nicola for making it possible.

Cedrus video driver fix: no longer crashing with GStreamer

Cedrus is an open source driver for the Video Engine hardware encoder/decoder in Allwinner sunxi SoCs, used in devices such as the PinePhone.

GStreamer caused a reproductible kernel oops when used with Cedrus, and Nicolas Dufresne fixed it by setting the CAPTURE resolution automatically based on the OUTPUT resolution preventing userspace from selecting a CAPTURE resolution that is too small.

Direct I/O fixes and optimizations

Direct I/O is a way of working with disk-backed data bypassing the page cache and has been traditionally used in some applications that manage their own caches, such as database management systems. This kernel release includes a patch series by Gabriel Krisman Bertazi to consolidate the error handling and solve disparities between filesystems. It also adds a small optimization to avoid unnecessary page writebacks when the user reads past the end of file.

PS8640 bridge driver fixes and Mediatek DRM drivers update

Enric Balletbò has updated the PS8640 DSI to eDP bridge driver and fixed an error scenario by reworking the power handling code. He also continued working of converting the Mediatek DRM drivers to the drm_bridge API.

Support for capital letters in SysRq commands

The 'Magic SysRq key'is a key combination that allows a user to send a predefined command to the kernel at any time and it's normally used for debugging purposes. The key combination includes one 'command' key, which specifies the command to send to the kernel. Andrzej Pietrasiewicz has submitted a patch that allows capital letters as commands (thus extending the command table) and is already in v5.10.

Cleanup of kernel error messages to improve logging

Patches do not always need to fix functional problems in order to be useful, sometimes simply getting rid of unnecessary noise in the system log can make a positive impact in systems that rely on such logs, for example Kernel CI.

Guillaume Tucker submitted a patch series that eliminates a kernel error message appearing in Exynos SoCs with the goal of making the Kernel CI results clearer and new errors more easily detected.

DRM device hot-unplugging plan and design

Users always expect that everything keeps working no matter what happens and graphic devices are no exception. The machine should stay stable even if the user unplugs one of these devices, which requires proper handling and support throughout the whole graphics stack.

Following previous comments and discussions in IRC, Pekka Paalanen documented the initial design plan about what hot-unplugging a DRM device should look like for userspace. This is now part of the kernel documentation, which will help set clear guidelines for a future implementation.

Improvements and updates to Device Tree definitions and bindings

Collabora keeps growing and improving the existing Device Tree definitions as well as their bindings. This results in an easier and better documented way of describing hardware and a more standardized way of retrieving this information in the drivers.

In this release, Ricardo Cañuelo added fixes to the Chromebook EC bindings and Sebastial Reichel worked on documentation additions and new features for the gpio-based battery chargers bindings and updated to the OMAPs and Exynos device trees.

Continuous maintainership, testing and reviewing

As in every kernel release, the Collabora team has done a lot of work testing and reviewing kernel code for v5.10. Many Collabora engineers are also subsystem maintainers, taking care of the evolution of Panfrost, Chromebook drivers and power supply drivers among other things.

Thanks to all of them for their work and for keeping pushing Open Source forward.

Below is a full list of contributions for the 5.10 release, including suggestions, testing and reviews, as recorded in the git commit history:

Authored (117):

Andrzej Pietrasiewicz (1):

André Almeida (1):

Boris Brezillon (7):

Dafna Hirschfeld (48):

Enric Balletbo i Serra (11):

Ezequiel Garcia (20):

Gabriel Krisman Bertazi (8):

Guillaume Tucker (3):

Helen Koike (2):

Nicolas Dufresne (1):

Pekka Paalanen (1):

Ricardo Cañuelo (3):

Sebastian Reichel (9):

Tomeu Vizoso (2):

Maintainer Committed (98):

Boris Brezillon (4):

Enric Balletbo i Serra (17):

Sebastian Reichel (77):

Signed-off-by (33):

Ezequiel Garcia (2):

Sebastian Reichel (31):

On behalf of (33):

Alex Dewar (1):

Artur Rojek (2):

Colin Ian King (3):

Dan Murphy (4):

David Heidelberg (1):

Dmitry Osipenko (1):

Harley A.W. Lorenzo (1):

Ikjoon Jang (1):

Iskren Chernev (2):

Jernej Skrabec (1):

Jonathan Bakker (3):

Jonghwa Lee (3):

Krzysztof Kozlowski (1):

Lars Povlsen (2):

Michał Mirosław (2):

Philipp Zabel (1):

Subbaraman Narayanamurthy (1):

Wang Qing (2):

Xiongfeng Wang (1):

Reviewed-by (42):

Alyssa Rosenzweig (14):

Boris Brezillon (7):

Emil Velikov (5):

Enric Balletbo i Serra (5):

Ezequiel Garcia (3):

Gabriel Krisman Bertazi (2):

Nicolas Dufresne (4):

Sebastian Reichel (1):

Tomeu Vizoso (1):

Acked-by (40):

Alyssa Rosenzweig (1):

Dafna Hirschfeld (2):

Helen Koike (37):

Tested-by (5):

Adrian Ratiu (1):

Christopher Obbard (1):

Enric Balletbo i Serra (2):

Guillaume Tucker (1):

Reported-by (7):

Adrian Ratiu (1):

Dafna Hirschfeld (1):

Ezequiel Garcia (4):

Guillaume Tucker (1):


Comments (0)

Add a Comment

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


Search the newsroom

Latest News & Events

Blast from the past at Embedded World: Atari plays for Linux


Adhering to the fundamentals of open source, the Atari VCS OS is based on Debian using the Apertis infrastructure, and the graphics rely…

Up close and personal with STMicroelectronics' STM32MP2 at Embedded World


Using TensorFlow Lite models optimized for the STM3MP2 NPU along with an upstream-ready H.264 encoder (Video4Linux2), this demo showcases…

New unixfd plugin in GStreamer 1.24


GStreamer 1.24 was recently released, and with it came with a new plugin to help separate pipelines into different processes.

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.