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