1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>drm_gem_prime_handle_to_fd</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#idp1122911796" title="PRIME Function References"><link rel="prev" href="API-drm-gem-prime-export.html" title="drm_gem_prime_export"><link rel="next" href="API-drm-gem-prime-import.html" title="drm_gem_prime_import"></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_gem_prime_handle_to_fd</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-gem-prime-export.html">Prev</a> </td><th width="60%" align="center">PRIME Function References</th><td width="20%" align="right"> <a accesskey="n" href="API-drm-gem-prime-import.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-gem-prime-handle-to-fd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_gem_prime_handle_to_fd — 2 PRIME export function for GEM drivers 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_gem_prime_handle_to_fd </b>(</code></td><td>struct drm_device * <var class="pdparam">dev</var>, </td></tr><tr><td> </td><td>struct drm_file * <var class="pdparam">file_priv</var>, </td></tr><tr><td> </td><td>uint32_t <var class="pdparam">handle</var>, </td></tr><tr><td> </td><td>uint32_t <var class="pdparam">flags</var>, </td></tr><tr><td> </td><td>int * <var class="pdparam">prime_fd</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1122934460"></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 dev to export the buffer from 5 </p></dd><dt><span class="term"><em class="parameter"><code>file_priv</code></em></span></dt><dd><p> 6 drm file-private structure 7 </p></dd><dt><span class="term"><em class="parameter"><code>handle</code></em></span></dt><dd><p> 8 buffer handle to export 9 </p></dd><dt><span class="term"><em class="parameter"><code>flags</code></em></span></dt><dd><p> 10 flags like DRM_CLOEXEC 11 </p></dd><dt><span class="term"><em class="parameter"><code>prime_fd</code></em></span></dt><dd><p> 12 pointer to storage for the fd id of the create dma-buf 13 </p></dd></dl></div></div><div class="refsect1"><a name="idp1122940004"></a><h2>Description</h2><p> 14 This is the PRIME export function which must be used mandatorily by GEM 15 drivers to ensure correct lifetime management of the underlying GEM object. 16 The actual exporting from GEM object to a dma-buf is done through the 17 gem_prime_export driver callback. 18</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-gem-prime-export.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="drm-memory-management.html#idp1122911796">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-drm-gem-prime-import.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_gem_prime_export</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_gem_prime_import</span></td></tr></table></div></body></html> 19