Merge "liboverlay: explicitly set alignment to 1M for secure buffers"
diff --git a/liboverlay/overlayMdssRot.cpp b/liboverlay/overlayMdssRot.cpp
index 95f22c6..c6d5332 100644
--- a/liboverlay/overlayMdssRot.cpp
+++ b/liboverlay/overlayMdssRot.cpp
@@ -32,7 +32,6 @@
#define MDSS_MDP_ROT_ONLY 0x80
#endif
-#define SIZE_1M 0x00100000
#define MDSS_ROT_MASK (MDP_ROT_90 | MDP_FLIP_UD | MDP_FLIP_LR)
namespace ovutils = overlay::utils;
@@ -261,9 +260,6 @@
opBufSize = Rotator::calcOutputBufSize(destWhf);
}
- if (mRotInfo.flags & utils::OV_MDP_SECURE_OVERLAY_SESSION)
- opBufSize = utils::align(opBufSize, SIZE_1M);
-
return opBufSize;
}
diff --git a/liboverlay/overlayMem.h b/liboverlay/overlayMem.h
index 061d197..5e0db6f 100644
--- a/liboverlay/overlayMem.h
+++ b/liboverlay/overlayMem.h
@@ -38,6 +38,7 @@
#include "gralloc_priv.h"
#include "overlayUtils.h"
+#define SIZE_1M 0x00100000
namespace overlay {
@@ -118,24 +119,28 @@
{
alloc_data data;
int allocFlags = GRALLOC_USAGE_PRIVATE_IOMMU_HEAP;
- if(isSecure) {
- allocFlags = GRALLOC_USAGE_PRIVATE_MM_HEAP;
- allocFlags |= GRALLOC_USAGE_PROTECTED;
- }
- // Allocate uncached rotator buffers
- allocFlags |= GRALLOC_USAGE_PRIVATE_UNCACHED;
-
int err = 0;
OVASSERT(numbufs && bufSz, "numbufs=%d bufSz=%d", numbufs, bufSz);
- mBufSz = bufSz;
+ if(isSecure) {
+ allocFlags = GRALLOC_USAGE_PRIVATE_MM_HEAP;
+ allocFlags |= GRALLOC_USAGE_PROTECTED;
+ mBufSz = utils::align(bufSz, SIZE_1M);
+ data.align = SIZE_1M;
+ } else {
+ mBufSz = bufSz;
+ data.align = getpagesize();
+ }
+
+ // Allocate uncached rotator buffers
+ allocFlags |= GRALLOC_USAGE_PRIVATE_UNCACHED;
+
mNumBuffers = numbufs;
data.base = 0;
data.fd = -1;
data.offset = 0;
data.size = mBufSz * mNumBuffers;
- data.align = getpagesize();
data.uncached = true;
err = mAlloc->allocate(data, allocFlags);
diff --git a/liboverlay/overlayWriteback.cpp b/liboverlay/overlayWriteback.cpp
index f1f0eb5..5c6d773 100644
--- a/liboverlay/overlayWriteback.cpp
+++ b/liboverlay/overlayWriteback.cpp
@@ -37,9 +37,6 @@
//=========== class WritebackMem ==============================================
bool WritebackMem::manageMem(uint32_t size, bool isSecure) {
- if(isSecure) {
- size = utils::align(size, SIZE_1M);
- }
if(mBuf.bufSz() == size) {
return true;
}