Hi,<div><br></div><div>I'm just ramping back up after being on maternity leave so I'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"><<a href="mailto:hdoyu@nvidia.com">hdoyu@nvidia.com</a>></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'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 "ion_iommu_heap" 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'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's no Ion memmgr code in the upstream<br>
"drivers/staging/android"(*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's not intended to be a temporary solution. That being said, I'm not sure I want to push for it in staging. I'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'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 "<linux/ion.h>" drivers/<br>
<br>
drivers/gpu/ion/ion.c:#include <linux/ion.h><br>
drivers/gpu/ion/ion_carveout_heap.c:#include <linux/ion.h><br>
drivers/gpu/ion/ion_heap.c:#include <linux/ion.h><br>
drivers/gpu/ion/ion_priv.h:#include <linux/ion.h><br>
drivers/gpu/ion/ion_system_heap.c:#include <linux/ion.h><br>
drivers/gpu/ion/ion_system_mapper.c:#include <linux/ion.h><br>
drivers/gpu/ion/tegra/tegra_ion.c:#include <linux/ion.h><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>