On 6/24/20 11:55 PM, Dmitry Osipenko wrote:
23.06.2020 15:09, Mikko Perttunen пишет:
...
* Previously present GEM IOCTLs (GEM_CREATE, GEM_MMAP) are not present.
Not sure if they are still needed.
Hello Mikko!
A quick comment for the starter. Switching away from the Tegra-specific
GEM IOCTLs to the dma-buf heaps is a such radical change! But I like it!
Previously I was curious about whether we could have multiple CMA
regions (one shared/reusable and other private, for example) for the
Tegra DRM driver and at a quick glance the dma-buf heaps could be a nice
solution that avoids re-inventing a driver-specific things for that.
I'm instantly foreseeing these types of heaps:
1. Large reusable CMA heap.
2. Smaller non-reusable common CMA that could be used when allocation
from a reusable CMA fails. Or vice versa, when we want to reduce the
chance to block for a long time on allocation, for example.
3. Sparse (system) memory heap.
It's the first time I'm looking at the dma-buf heaps and it sounds like
a very nice idea to utilize them!
The https://lkml.org/lkml/2019/11/18/787 says that the system-contiguous
and carveout heaps we not added because they were not needed, but they
will be needed for the Tegra20 drivers and for the case where IOMMU is
disabled. It shouldn't be difficult to add these types of heaps.
I'll continue to examine the dma-buf heaps in a more details.
Sure, let's go with this for now. We can anyway add GEM IOCTLs later if
they are needed, without any compatibility issues.
Mikko