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";