diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2015-04-29 08:20:37 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-04-29 08:20:37 -0700 |
commit | 3eac1c3cd9e0a8cd3a23d1d70a9f73d030da0611 (patch) | |
tree | a1ab4c789e62f57f61374378f2f03cab625343e0 /libgralloc/alloc_controller.cpp | |
parent | 239a7a9f8d72a4c784e731ecaec7dbb94ac6fcd5 (diff) | |
parent | 3c49041532a65c71ae75281cf0e853aee3098a79 (diff) | |
download | android_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.cpp | 34 |
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 |