On 13.12.2012 17:03, Lucas Stach wrote:
You are still doing the allocation the IMHO wrong way around. I thought we agreed to do all the allocations in host1x, which obviously means not using the cma_gem_helpers anymore, but introducing a new native host1x object to back GEM/V4L/whatever objects. IMHO the current approach is a clear layering violation and makes proper IOMMU support a lot harder. It would also allow to get rid of all the indirections and ifdefs in host1x memmgr, as host1x would only have to deal with it's native objects.
All the complexity of converting host1x to GEM objects should be located in tegradrm and not be scattered between different modules.
Did you leave this out on purpose in this version of the patchset?
Forgot to mention that, as IOMMU and consequently the "proper" allocation support was planned as a follow-up. I wanted to keep the scope of this set as small as possible.
The plan we agreed on still holds.
Terje
- tegradrm has a global variable. Plan was to hide that behind a virtual device, and use that as DRM root device. That plan went bad once the FB CMA helper used the device for trying to allocate memory.
See above, we should get rid of the helpers and do all allocations within host1x.
I noticed that IOMMU and not using the CMA FB helper is now exynos managed to do this.
Terje