1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>drm_atomic_helper_duplicate_state</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-connector-duplicate-state.html" title="drm_atomic_helper_connector_duplicate_state"><link rel="next" href="API---drm-atomic-helper-connector-destroy-state.html" title="__drm_atomic_helper_connector_destroy_state"></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_duplicate_state</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-atomic-helper-connector-duplicate-state.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-connector-destroy-state.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-atomic-helper-duplicate-state"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_atomic_helper_duplicate_state — 
2     duplicate an atomic 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"><a class="link" href="API-struct-drm-atomic-state.html" title="struct drm_atomic_state">struct drm_atomic_state</a> * <b class="fsfunc">drm_atomic_helper_duplicate_state </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-modeset-acquire-ctx.html" title="struct drm_modeset_acquire_ctx">struct drm_modeset_acquire_ctx</a> * <var class="pdparam">ctx</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.3.4.9.10.41.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>ctx</code></em></span></dt><dd><p>
6     lock acquisition context
7    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.4.9.10.41.6"></a><h2>Description</h2><p>
8   Makes a copy of the current atomic state by looping over all objects and
9   duplicating their respective states.
10   </p><p>
11
12   Note that this treats atomic state as persistent between save and restore.
13   Drivers must make sure that this is possible and won't result in confusion
14   or erroneous behaviour.
15   </p><p>
16
17   Note that if callers haven't already acquired all modeset locks this might
18   return -EDEADLK, which must be handled by calling <code class="function"><a class="link" href="API-drm-modeset-backoff.html" title="drm_modeset_backoff">drm_modeset_backoff</a></code>.
19</p></div><div class="refsect1"><a name="id-1.3.4.9.10.41.7"></a><h2>Returns</h2><p>
20   A pointer to the copy of the atomic state object on success or an
21   <code class="function">ERR_PTR</code>-encoded error code on failure.
22</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-connector-duplicate-state.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-connector-destroy-state.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_atomic_helper_connector_duplicate_state</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_connector_destroy_state</span></td></tr></table></div></body></html>
23