1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>drm_atomic_helper_commit</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-wait-for-vblanks.html" title="drm_atomic_helper_wait_for_vblanks"><link rel="next" href="API-drm-atomic-helper-prepare-planes.html" title="drm_atomic_helper_prepare_planes"></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</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-atomic-helper-wait-for-vblanks.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-prepare-planes.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-atomic-helper-commit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_atomic_helper_commit — 
2     commit validated state object
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">int <b class="fsfunc">drm_atomic_helper_commit </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">state</var>, </td></tr><tr><td> </td><td>bool <var class="pdparam">async</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.3.4.9.10.14.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>state</code></em></span></dt><dd><p>
6     the driver state object
7    </p></dd><dt><span class="term"><em class="parameter"><code>async</code></em></span></dt><dd><p>
8     asynchronous commit
9    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.4.9.10.14.6"></a><h2>Description</h2><p>
10   This function commits a with <code class="function"><a class="link" href="API-drm-atomic-helper-check.html" title="drm_atomic_helper_check">drm_atomic_helper_check</a></code> pre-validated state
11   object. This can still fail when e.g. the framebuffer reservation fails. For
12   now this doesn't implement asynchronous commits.
13   </p><p>
14
15   Note that right now this function does not support async commits, and hence
16   driver writers must implement their own version for now. Also note that the
17   default ordering of how the various stages are called is to match the legacy
18   modeset helper library closest. One peculiarity of that is that it doesn't
19   mesh well with runtime PM at all.
20   </p><p>
21
22   For drivers supporting runtime PM the recommended sequence is
23   </p><p>
24
25   drm_atomic_helper_commit_modeset_disables(dev, state);
26   </p><p>
27
28   drm_atomic_helper_commit_modeset_enables(dev, state);
29   </p><p>
30
31   drm_atomic_helper_commit_planes(dev, state, true);
32   </p><p>
33
34   See the kerneldoc entries for these three functions for more details.
35   </p><p>
36
37   RETURNS
38   Zero for success or -errno.
39</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-wait-for-vblanks.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-prepare-planes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_atomic_helper_wait_for_vblanks</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_prepare_planes</span></td></tr></table></div></body></html>
40