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