1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>drm_atomic_helper_commit_planes</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux GPU Driver Developer's Guide"><link rel="up" href="ch02s05.html#id-1.3.4.9.10" title="Atomic Modeset Helper Functions Reference"><link rel="prev" href="API-drm-atomic-helper-prepare-planes.html" title="drm_atomic_helper_prepare_planes"><link rel="next" href="API-drm-atomic-helper-commit-planes-on-crtc.html" title="drm_atomic_helper_commit_planes_on_crtc"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">drm_atomic_helper_commit_planes</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-atomic-helper-prepare-planes.html">Prev</a> </td><th width="60%" align="center">Atomic Modeset Helper Functions Reference</th><td width="20%" align="right"> <a accesskey="n" href="API-drm-atomic-helper-commit-planes-on-crtc.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-atomic-helper-commit-planes"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_atomic_helper_commit_planes — 
2     commit plane state
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">drm_atomic_helper_commit_planes </b>(</code></td><td>struct drm_device * <var class="pdparam">dev</var>, </td></tr><tr><td> </td><td><a class="link" href="API-struct-drm-atomic-state.html" title="struct drm_atomic_state">struct drm_atomic_state</a> * <var class="pdparam">old_state</var>, </td></tr><tr><td> </td><td>bool <var class="pdparam">active_only</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.3.4.9.10.16.5"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p>
4     DRM device
5    </p></dd><dt><span class="term"><em class="parameter"><code>old_state</code></em></span></dt><dd><p>
6     atomic state object with old state structures
7    </p></dd><dt><span class="term"><em class="parameter"><code>active_only</code></em></span></dt><dd><p>
8     Only commit on active CRTC if set
9    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.4.9.10.16.6"></a><h2>Description</h2><p>
10   This function commits the new plane state using the plane and atomic helper
11   functions for planes and crtcs. It assumes that the atomic state has already
12   been pushed into the relevant object state pointers, since this step can no
13   longer fail.
14   </p><p>
15
16   It still requires the global state object <em class="parameter"><code>old_state</code></em> to know which planes and
17   crtcs need to be updated though.
18   </p><p>
19
20   Note that this function does all plane updates across all CRTCs in one step.
21   If the hardware can't support this approach look at
22   <code class="function"><a class="link" href="API-drm-atomic-helper-commit-planes-on-crtc.html" title="drm_atomic_helper_commit_planes_on_crtc">drm_atomic_helper_commit_planes_on_crtc</a></code> instead.
23   </p><p>
24
25   Plane parameters can be updated by applications while the associated CRTC is
26   disabled. The DRM/KMS core will store the parameters in the plane state,
27   which will be available to the driver when the CRTC is turned on. As a result
28   most drivers don't need to be immediately notified of plane updates for a
29   disabled CRTC.
30   </p><p>
31
32   Unless otherwise needed, drivers are advised to set the <em class="parameter"><code>active_only</code></em>
33   parameters to true in order not to receive plane update notifications related
34   to a disabled CRTC. This avoids the need to manually ignore plane updates in
35   driver code when the driver and/or hardware can't or just don't need to deal
36   with updates on disabled CRTCs, for example when supporting runtime PM.
37   </p><p>
38
39   The <code class="function"><a class="link" href="API-drm-atomic-helper-commit.html" title="drm_atomic_helper_commit">drm_atomic_helper_commit</a></code> default implementation only sets <em class="parameter"><code>active_only</code></em>
40   to false to most closely match the behaviour of the legacy helpers. This should
41   not be copied blindly by drivers.
42</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-drm-atomic-helper-prepare-planes.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02s05.html#id-1.3.4.9.10">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-drm-atomic-helper-commit-planes-on-crtc.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_atomic_helper_prepare_planes</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">drm_atomic_helper_commit_planes_on_crtc</span></td></tr></table></div></body></html>
43