shamu: gralloc: Revert gralloc: Use GRALLOC_USAGE_PROTECTED for L1 protection
Revert this for shamu as the original feature this was needed for
is not available on shamu
Bug: 29880419
Change-Id: I041849bca75c042b05608709825f465f436d0269
diff --git a/msm8084/libgralloc/alloc_controller.cpp b/msm8084/libgralloc/alloc_controller.cpp
index ef7e358..c0069da 100644
--- a/msm8084/libgralloc/alloc_controller.cpp
+++ b/msm8084/libgralloc/alloc_controller.cpp
@@ -78,8 +78,6 @@
static bool useUncached(int usage)
{
- if (usage & GRALLOC_USAGE_PROTECTED)
- return true;
if (usage & GRALLOC_USAGE_PRIVATE_UNCACHED)
return true;
if(((usage & GRALLOC_USAGE_SW_WRITE_MASK) == GRALLOC_USAGE_SW_WRITE_RARELY)
@@ -300,8 +298,14 @@
ionFlags |= ION_HEAP(ION_IOMMU_HEAP_ID);
if(usage & GRALLOC_USAGE_PROTECTED) {
- ionFlags |= ION_HEAP(ION_CP_MM_HEAP_ID);
- ionFlags |= ION_SECURE;
+ if (usage & GRALLOC_USAGE_PRIVATE_MM_HEAP) {
+ ionFlags |= ION_HEAP(ION_CP_MM_HEAP_ID);
+ ionFlags |= ION_SECURE;
+ } else {
+ // for targets/OEMs which do not need HW level protection
+ // do not set ion secure flag & MM heap. Fallback to IOMMU heap.
+ ionFlags |= ION_HEAP(ION_IOMMU_HEAP_ID);
+ }
} else if(usage & GRALLOC_USAGE_PRIVATE_MM_HEAP) {
//MM Heap is exclusively a secure heap.
//If it is used for non secure cases, fallback to IOMMU heap
diff --git a/msm8084/libgralloc/gpu.cpp b/msm8084/libgralloc/gpu.cpp
index 97f8b72..40fa1ee 100644
--- a/msm8084/libgralloc/gpu.cpp
+++ b/msm8084/libgralloc/gpu.cpp
@@ -70,7 +70,8 @@
/* force 1MB alignment selectively for secure buffers, MDP5 onwards */
#ifdef MDSS_TARGET
- if (usage & GRALLOC_USAGE_PROTECTED) {
+ if ((usage & GRALLOC_USAGE_PROTECTED) &&
+ (usage & GRALLOC_USAGE_PRIVATE_MM_HEAP)) {
data.align = ALIGN((int) data.align, SZ_2M);
size = ALIGN(size, data.align);
}