OPINION
NEW DRIVER
Boris Brezillon is a senior software engineer at Collabora.
"New generations of Arm Mali GPUs have replaced their old model of job management – where the Linux kernel is responsible for resolving dependencies and scheduling jobs – with a command-stream design in which GPU firmware is in control of execution. This is a fundamental shift not only in how userspace submits jobs and handles synchronisation, but also in the design of the kernel driver and DRM’s core scheduler architecture. We now get to work with a completely new uAPI (almost nothing shared with the old one), a new scheduling logic and a new MMU/GPU-VAmanagement logic. This leaves us some driver initialisation boilerplate, the device frequency scaling implementation and the power management code, which is likely to differ, too, as some of the powermanagement is now done by the firmware. So, the only logical decision was to fork Panfrost and begin work on PanCSF, a new independent DRM driver. This is unusual in the DRM subsystem world, where support for new hardware is usually added to GPU drivers supporting previous hardware generations, but it’s a crucial step in our attempt at having a fully upstream open source graphics stack for Mali CSF GPUs."