Codec2: Integrate support for the system-uncached DMA BUF Heap
While not yet upstream, the system-uncached heap has been added
to android12-5.10, so lets enable support for selecting it on
buffers who's usage flags are not set to C2MemoryUsage::CPU_READ
or C2MemoryUsage::CPU_WRITE.
Because it isn't guarenteed to exist, this adds a helper
function to check if system-uncached is supported as well, so
devices without it can fall back to the system heap.
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I525525cae85b6759e460598c454f1e5f150391f9
diff --git a/media/codec2/vndk/C2DmaBufAllocator.cpp b/media/codec2/vndk/C2DmaBufAllocator.cpp
index 59e82e2..750aa31 100644
--- a/media/codec2/vndk/C2DmaBufAllocator.cpp
+++ b/media/codec2/vndk/C2DmaBufAllocator.cpp
@@ -315,8 +315,8 @@
if (mUsageMapper) {
res = mUsageMapper(usage, capacity, heap_name, flags);
} else {
- // No system-uncached yet, so disabled for now
- if (0 && !(usage.expected & (C2MemoryUsage::CPU_READ | C2MemoryUsage::CPU_WRITE)))
+ if (C2DmaBufAllocator::system_uncached_supported() &&
+ !(usage.expected & (C2MemoryUsage::CPU_READ | C2MemoryUsage::CPU_WRITE)))
*heap_name = "system-uncached";
else
*heap_name = "system";