freenode
Desktop & Graphics

DRM adds atomic state readout for firmware-lit displays

Maxime Ripard's v7 series brings i915-style fastboot into generic KMS, with TIDSS and bridge support.

Maxime Ripard has posted a seventh revision of a large patch series that adds hardware state readout to the DRM atomic modesetting core, so drivers can adopt the display configuration already programmed by firmware and skip an unnecessary first modeset.

The work is the generic counterpart of what Intel's i915 driver has long called fastboot. On many embedded boards the bootloader or early firmware already enables the panel or HDMI path. Without readout, the kernel still tears that setup down and rebuilds it, which can flicker the screen and delay the handoff to userspace. The series supplies driver hooks to capture plane, CRTC, connector, and private-object state from hardware, plus helpers that re-read state after a commit and compare it with what software believed it programmed, so implementations can be checked in place.

Ripard also landed readout in the TIDSS driver used on TI Sitara platforms and tested it on the SK-AM62, a board that drives HDMI through a DPI bridge and the standard bridge-connector path. He reports that matching firmware state no longer forces a modeset, while a mismatch still switches correctly. Supporting pieces include default compare helpers for core KMS objects and bridges, KUnit coverage, and a module parameter to force or disable readout.

Earlier RFCs of the same idea were rough; v7 is presented as working on current embedded-style stacks that rely on bridges rather than fully self-contained GPUs.