[TECH TOPIC] DRM: handling runtime requirements for device components.

Dmitry Baryshkov <[email protected]> Fri, 22 May 2026 16:25:57 +0300
Newsgroups dev.linux.lists.ksummit
Message-ID <CAO9ioeVKp9_WpNO8UrFMh=9nMz1yMCOe1FVXnD078sbg4FRrQQ@mail.gmail.com>
Hello,

As we don't have a separate Graphis MC this year, I've submitted the
talk to the KTS trail.

In the DRM subsystem the callbacks setting up the display pipeline are
not supposed to fail. This is not the problem for the desktop GPUs,
but embedded display devices, containing multiple components with
varying runtime requirements, often have to call fallible setup
functions (clk_prepare_enable(), pm_runtime_resume_and_get(),
phy_init() / phy_power_on(), etc.)  in those callbacks. This
frequently results in the clumsy and error prone code, tracking at
which step the enablement functions have failed in order to prevent
unblocked register access and to handle disablement correctly in the
atomic_disable() paths.

The goal of the talk is to trigger the discussion on possible ways of
handling these runtime requirements, while not breaking the existing
DRM API contract.

-- 
With best wishes
Dmitry