<div dir="ltr"><font face="courier new, monospace">I'm looking at nouveau_bo.c in nouveau_bo_new() and I see some code like:</font><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">line 230:</font></div>
<div><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><font face="courier new, monospace">nvbo<span class="">-></span>bo<span class="">.</span>mem<span class="">.</span>num_pages <span class="">=</span> size <span class="">>></span> PAGE_SHIFT<span class="">;</span></font></code></pre>
<pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><span class=""><font face="courier new, monospace"><br></font></span></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px">
<code><span class=""><font face="courier new, monospace">and </font></span></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><span class=""><font face="courier new, monospace">line 236</font></span></code></pre>
<pre style="padding:0px;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);font-size:13px"><code><span class=""><font face="courier new, monospace"><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><code>ret <span class="">=</span> <span class="" style="color:rgb(1,1,129)">ttm_bo_init</span><span class="">(&</span>drm<span class="">-></span>ttm<span class="">.</span>bdev<span class="">, &</span>nvbo<span class="">-></span>bo<span class="">,</span> size<span class="">,</span>
                          type<span class="">, &</span>nvbo<span class="">-></span>placement<span class="">,</span>
                          align <span class="">>></span> PAGE_SHIFT<span class="">,</span> <span class="" style="font-weight:bold">false</span><span class="">,</span> NULL<span class="">,</span> acc_size<span class="">,</span> sg<span class="">,</span>
                          nouveau_bo_del_ttm<span class="">);</span></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><code><span class=""><br></span></code></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px">
It doesn't seem to handle the case that {value} >> PAGE_SHIFT could result in 0. I think "size >> PAGE_SHIFT" may be OK, but I'm not so sure about "align >> PAGE_SHIFT".</pre>
<pre style="padding:0px;margin-top:0px;margin-bottom:0px"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px">Shouldn't these have something like MIN( ... ,1), i.e. it must be at least one page of memory? Is there something else that is going on that I'm missing?</pre>
<pre style="padding:0px;margin-top:0px;margin-bottom:0px"><br></pre><pre style="padding:0px;margin-top:0px;margin-bottom:0px">Patrick</pre></font></span></code></pre></div></div>