Hi,<div><br></div><div>I&#39;m just ramping back up after being on maternity leave so I&#39;m pretty buried under on the lists.  Please do continue to CC me directly on ION related work.  <br><br><div class="gmail_quote">On Tue, Jan 17, 2012 at 11:40 PM, Hiroshi Doyu <span dir="ltr">&lt;<a href="mailto:hdoyu@nvidia.com">hdoyu@nvidia.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Recently we&#39;ve implemented IOMMU heap as an attachment which is one of<br>
the ION memory manager(*1) heap/backend. This implementation is<br>
completely independent of any SoC, and this can be used for other SoC<br>
as well. If our implementation is not totally wrong, it would be nice<br>
to share some experience/code here since Ion is still not so clear to<br>
me yet.<br></blockquote><div><br></div><div>I will take a look at your review this code as soon as I can.  The intention is to take contributions like these so keep them coming.  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
I found that Linaro also seems to have started some ION work(*2). I<br>
think that some of Ion feature could be supported/replaced with Linaro<br>
UMM. For example, presently &quot;ion_iommu_heap&quot; is implemented with the<br>
standard IOMMU API, but it could be also implemented with the coming<br>
DMA API? Also DMABUF can be used in Ion core part as well, I guess.<br></blockquote><div><br></div><div>It is my intention to leverage the DMABUF api as much as I can.  I&#39;ll be going back over the work on the DMA api over the next few weeks and thinking about how to integrate the two solutions.  </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Currently there&#39;s no Ion memmgr code in the upstream<br>
&quot;drivers/staging/android&quot;(*3). Is there any plan to support this? Or<br>
is this something considered as a completely _temporary_ solution, and<br>
never going to be added?<br></blockquote><div><br></div><div>I expect this is an oversight that occurred when the android drivers were added back to staging.  It&#39;s not intended to be a temporary solution.  That being said, I&#39;m not sure I want to push for it in staging.  I&#39;d rather give it a little more time to bake and then at some post it as a patch set.  </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
It would be nice if we can share some of our effort here since not<br>
small Android users need Ion, even temporary.<br></blockquote><div><br></div><div>Agreed!  Keep sending things my way and I&#39;ll get feedback to you as quickly as I can.  </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
Any comment would be really appreciated.<br>
<br>
  Hiroshi DOYU<br>
<br>
*1: <a href="https://android.googlesource.com/kernel/common.git" target="_blank">https://android.googlesource.com/kernel/common.git</a><br>
$ git clone <a href="https://android.googlesource.com/kernel/common.git" target="_blank">https://android.googlesource.com/kernel/common.git</a><br>
$ cd common<br>
$ git checkout -b android origin/android-3.0<br>
$ git grep -e &quot;&lt;linux/ion.h&gt;&quot; drivers/<br>
<br>
drivers/gpu/ion/ion.c:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/ion_carveout_heap.c:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/ion_heap.c:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/ion_priv.h:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/ion_system_heap.c:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/ion_system_mapper.c:#include &lt;linux/ion.h&gt;<br>
drivers/gpu/ion/tegra/tegra_ion.c:#include &lt;linux/ion.h&gt;<br>
<br>
*2: <a href="https://blueprints.launchpad.net/linaro-mm-sig/+spec/linaro-mmwg-cma-ion" target="_blank">https://blueprints.launchpad.net/linaro-mm-sig/+spec/linaro-mmwg-cma-ion</a><br>
*3: <a href="http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=drivers/staging/android;h=4a70996505b423f12e2ea61d0aad3d9b0cc7a5c0;hb=HEAD" target="_blank">http://git.kernel.org/?p=linux/kernel/git/next/linux-next.git;a=tree;f=drivers/staging/android;h=4a70996505b423f12e2ea61d0aad3d9b0cc7a5c0;hb=HEAD</a><br>

</blockquote></div><br></div>