summaryrefslogtreecommitdiffstats
path: root/libgralloc/alloc_controller.cpp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-04-29 08:20:37 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-04-29 08:20:37 -0700
commit3eac1c3cd9e0a8cd3a23d1d70a9f73d030da0611 (patch)
treea1ab4c789e62f57f61374378f2f03cab625343e0 /libgralloc/alloc_controller.cpp
parent239a7a9f8d72a4c784e731ecaec7dbb94ac6fcd5 (diff)
parent3c49041532a65c71ae75281cf0e853aee3098a79 (diff)
downloadandroid_hardware_qcom_display-3eac1c3cd9e0a8cd3a23d1d70a9f73d030da0611.tar.gz
android_hardware_qcom_display-3eac1c3cd9e0a8cd3a23d1d70a9f73d030da0611.tar.bz2
android_hardware_qcom_display-3eac1c3cd9e0a8cd3a23d1d70a9f73d030da0611.zip
Merge "gralloc: Make all secure heaps and flags backward compatible"
Diffstat (limited to 'libgralloc/alloc_controller.cpp')
-rw-r--r--libgralloc/alloc_controller.cpp34
1 files changed, 20 insertions, 14 deletions
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index 978486141..e37cdddf7 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -49,17 +49,28 @@
#define ASTC_BLOCK_SIZE 16
-#ifdef ION_FLAG_CP_PIXEL
-#define CP_HEAP_ID ION_SECURE_HEAP_ID
-#else
+#ifndef ION_FLAG_CP_PIXEL
#define ION_FLAG_CP_PIXEL 0
-#define CP_HEAP_ID ION_CP_MM_HEAP_ID
#endif
#ifndef ION_FLAG_ALLOW_NON_CONTIG
#define ION_FLAG_ALLOW_NON_CONTIG 0
#endif
+#ifdef MASTER_SIDE_CP
+#define CP_HEAP_ID ION_SECURE_HEAP_ID
+/* Please Add the new SD ION Heap here */
+#define SD_HEAP_ID 0
+#define ION_CP_FLAGS (ION_SECURE | ION_FLAG_CP_PIXEL)
+/* Please Add the new SD ION Flag here */
+#define ION_SD_FLAGS ION_SECURE
+#else // SLAVE_SIDE_CP
+#define CP_HEAP_ID ION_CP_MM_HEAP_ID
+#define SD_HEAP_ID CP_HEAP_ID
+#define ION_CP_FLAGS (ION_SECURE | ION_FLAG_ALLOW_NON_CONTIG)
+#define ION_SD_FLAGS ION_SECURE
+#endif
+
using namespace gralloc;
using namespace qdutils;
@@ -357,21 +368,16 @@ int IonController::allocate(alloc_data& data, int usage)
if(usage & GRALLOC_USAGE_PROTECTED) {
if (usage & GRALLOC_USAGE_PRIVATE_MM_HEAP) {
- ionHeapId = ION_HEAP(CP_HEAP_ID);
- ionFlags |= ION_SECURE;
if (usage & GRALLOC_USAGE_PRIVATE_SECURE_DISPLAY) {
+ ionHeapId = ION_HEAP(SD_HEAP_ID);
/*
* There is currently no flag in ION for Secure Display
- * VM. Please add it here once available.
- *
- ionFlags |= <Ion flag for Secure Display>;
+ * VM. Please add it to the define once available.
*/
+ ionFlags |= ION_SD_FLAGS;
} else {
- ionFlags |= ION_FLAG_CP_PIXEL;
- }
-
- if (!(usage & GRALLOC_USAGE_PRIVATE_SECURE_DISPLAY)) {
- ionFlags |= ION_FLAG_ALLOW_NON_CONTIG;
+ ionHeapId = ION_HEAP(CP_HEAP_ID);
+ ionFlags |= ION_CP_FLAGS;
}
} else {
// for targets/OEMs which do not need HW level protection