1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>dma_pool_create</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="ch04s03.html" title="More Memory Management Functions"><link rel="prev" href="API-mempool-free.html" title="mempool_free"><link rel="next" href="API-dma-pool-destroy.html" title="dma_pool_destroy"></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">dma_pool_create</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-mempool-free.html">Prev</a> </td><th width="60%" align="center">More Memory Management Functions</th><td width="20%" align="right"> <a accesskey="n" href="API-dma-pool-destroy.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-dma-pool-create"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>dma_pool_create — 2 Creates a pool of consistent memory blocks, for dma. 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">struct dma_pool * <b class="fsfunc">dma_pool_create </b>(</code></td><td>const char * <var class="pdparam">name</var>, </td></tr><tr><td> </td><td>struct device * <var class="pdparam">dev</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">size</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">align</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">boundary</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1124715852"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>name</code></em></span></dt><dd><p> 4 name of pool, for diagnostics 5 </p></dd><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p> 6 device that will be doing the DMA 7 </p></dd><dt><span class="term"><em class="parameter"><code>size</code></em></span></dt><dd><p> 8 size of the blocks in this pool. 9 </p></dd><dt><span class="term"><em class="parameter"><code>align</code></em></span></dt><dd><p> 10 alignment requirement for blocks; must be a power of two 11 </p></dd><dt><span class="term"><em class="parameter"><code>boundary</code></em></span></dt><dd><p> 12 returned blocks won't cross this power of two boundary 13 </p></dd></dl></div></div><div class="refsect1"><a name="idp1124721644"></a><h2>Context</h2><p> 14 !<code class="function">in_interrupt</code> 15</p></div><div class="refsect1"><a name="idp1124722604"></a><h2>Description</h2><p> 16 Returns a dma allocation pool with the requested characteristics, or 17 null if one can't be created. Given one of these pools, <code class="function">dma_pool_alloc</code> 18 may be used to allocate memory. Such memory will all have <span class="quote">“<span class="quote">consistent</span>”</span> 19 DMA mappings, accessible by the device and its driver without using 20 cache flushing primitives. The actual size of blocks allocated may be 21 larger than requested because of alignment. 22 </p><p> 23 24 If <em class="parameter"><code>boundary</code></em> is nonzero, objects returned from <code class="function">dma_pool_alloc</code> won't 25 cross that size boundary. This is useful for devices which have 26 addressing restrictions on individual DMA transfers, such as not crossing 27 boundaries of 4KBytes. 28</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-mempool-free.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04s03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-dma-pool-destroy.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">mempool_free</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">dma_pool_destroy</span></td></tr></table></div></body></html> 29