1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>drm_vma_offset_add</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux DRM Developer's Guide"><link rel="up" href="drm-memory-management.html#idp1122718668" title="VMA Offset Manager"><link rel="prev" href="API-drm-vma-offset-lookup-locked.html" title="drm_vma_offset_lookup_locked"><link rel="next" href="API-drm-vma-offset-remove.html" title="drm_vma_offset_remove"></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_vma_offset_add</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-vma-offset-lookup-locked.html">Prev</a>&#160;</td><th width="60%" align="center">VMA Offset Manager</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-drm-vma-offset-remove.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-vma-offset-add"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_vma_offset_add &#8212; 
2     Add offset node to manager
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_vma_offset_add </b>(</code></td><td>struct drm_vma_offset_manager * <var class="pdparam">mgr</var>, </td></tr><tr><td>&#160;</td><td>struct drm_vma_offset_node * <var class="pdparam">node</var>, </td></tr><tr><td>&#160;</td><td>unsigned long <var class="pdparam">pages</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1122768500"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>mgr</code></em></span></dt><dd><p>
4     Manager object
5    </p></dd><dt><span class="term"><em class="parameter"><code>node</code></em></span></dt><dd><p>
6     Node to be added
7    </p></dd><dt><span class="term"><em class="parameter"><code>pages</code></em></span></dt><dd><p>
8     Allocation size visible to user-space (in number of pages)
9    </p></dd></dl></div></div><div class="refsect1"><a name="idp1122772012"></a><h2>Description</h2><p>
10   Add a node to the offset-manager. If the node was already added, this does
11   nothing and return 0. <em class="parameter"><code>pages</code></em> is the size of the object given in number of
12   pages.
13   After this call succeeds, you can access the offset of the node until it
14   is removed again.
15   </p><p>
16
17   If this call fails, it is safe to retry the operation or call
18   <code class="function">drm_vma_offset_remove</code>, anyway. However, no cleanup is required in that
19   case.
20   </p><p>
21
22   <em class="parameter"><code>pages</code></em> is not required to be the same size as the underlying memory object
23   that you want to map. It only limits the size that user-space can map into
24   their address space.
25</p></div><div class="refsect1"><a name="idp1122774388"></a><h2>RETURNS</h2><p>
26   0 on success, negative error code on failure.
27</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-vma-offset-lookup-locked.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="drm-memory-management.html#idp1122718668">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-drm-vma-offset-remove.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_vma_offset_lookup_locked</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">drm_vma_offset_remove</span></td></tr></table></div></body></html>
28