Intel Still Working On Atomic Mode-Setting / Nuclear Page-Flips

Written by Michael Larabel in Intel on 8 March 2014 at 12:03 AM EST. 9 Comments
INTEL
It's been a while since last hearing anything on the matter of atomic mode-setting and nuclear page-flipping, but the work is still being done for the Linux kernel by Intel engineers.

Nuclear page-flipping is focused on robust page-flipping support and to synchronize flips on multiple hardware scan-out engines. Related to this is the atomic mode-setting, or doing the DRM/KMS mode-setting in an atomic manner. As part of this, the DRM drivers will be exposing properties for all parts of the driver.

Matt Roper of Intel on Friday sent out a new patch-set that provides universal plane support as a prerequisite for the atomic/nuclear work. This universal plane support adds several hundred lines of new code to the DRM subsystem and exposes all types of hardware planes to the userspace in a consistent manner.

Roper explained, "One of the stepping stones on the way to atomic/nuclear operation is to expose all types of hardware planes to userspace via a consistent interface. Until now, the DRM plane interface has only operated on planes that drivers consider 'overlay' or 'sprite' planes; primary planes were simply represented by extra state hanging off the CRTC, and cursor planes had no direct representation in userspace, but were manipulated via separate ioctl's. This patch set begins the process of unifying the various plane types into a single, consistent interface."

As far as why this universal plane support is important:
This benefits of this unified interface will be most evident once driver state is fully property-ized as part of the upcoming atomic modeset / nuclear pageflip work. However there are a few benefits that may be achieved even before then:

* Drivers for hardware with scaling-capable primary planes may honor userspace scaling requests for the primary plane made with the drmModeSetPlane() call. Previously there was no interface that allowed userspace to specify desired scaling on primary planes.

* Drivers for hardware that may disable primary planes independently from the underlying CRTC may now do so when userspace passes a NULL framebuffer to the drmModeSetPlane() interface.
More details on this universal plane support can be found on the dri-devel mailing list.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week