1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>snd_dma_alloc_pages_fallback</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The ALSA Driver API"><link rel="up" href="ch01s04.html" title="Memory Management Helpers"><link rel="prev" href="API-snd-dma-alloc-pages.html" title="snd_dma_alloc_pages"><link rel="next" href="API-snd-dma-free-pages.html" title="snd_dma_free_pages"></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">snd_dma_alloc_pages_fallback</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-snd-dma-alloc-pages.html">Prev</a> </td><th width="60%" align="center">Memory Management Helpers</th><td width="20%" align="right"> <a accesskey="n" href="API-snd-dma-free-pages.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-snd-dma-alloc-pages-fallback"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>snd_dma_alloc_pages_fallback — 2 allocate the buffer area according to the given type with fallback 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">snd_dma_alloc_pages_fallback </b>(</code></td><td>int <var class="pdparam">type</var>, </td></tr><tr><td> </td><td>struct device * <var class="pdparam">device</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">size</var>, </td></tr><tr><td> </td><td>struct snd_dma_buffer * <var class="pdparam">dmab</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1093471964"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>type</code></em></span></dt><dd><p> 4 the DMA buffer type 5 </p></dd><dt><span class="term"><em class="parameter"><code>device</code></em></span></dt><dd><p> 6 the device pointer 7 </p></dd><dt><span class="term"><em class="parameter"><code>size</code></em></span></dt><dd><p> 8 the buffer size to allocate 9 </p></dd><dt><span class="term"><em class="parameter"><code>dmab</code></em></span></dt><dd><p> 10 buffer allocation record to store the allocated data 11 </p></dd></dl></div></div><div class="refsect1"><a name="idp1093476548"></a><h2>Description</h2><p> 12 Calls the memory-allocator function for the corresponding 13 buffer type. When no space is left, this function reduces the size and 14 tries to allocate again. The size actually allocated is stored in 15 res_size argument. 16</p></div><div class="refsect1"><a name="idp1093477364"></a><h2>Return</h2><p> 17 Zero if the buffer with the given size is allocated successfully, 18 otherwise a negative value on error. 19</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-snd-dma-alloc-pages.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01s04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-snd-dma-free-pages.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">snd_dma_alloc_pages</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">snd_dma_free_pages</span></td></tr></table></div></body></html> 20