Merge "hwc: mdpcomp: Restructure for 4kx2k displays"
diff --git a/liboverlay/overlayMdssRot.cpp b/liboverlay/overlayMdssRot.cpp
index 60d63a2..dedc396 100644
--- a/liboverlay/overlayMdssRot.cpp
+++ b/liboverlay/overlayMdssRot.cpp
@@ -30,6 +30,8 @@
 #define MDSS_MDP_ROT_ONLY 0x80
 #endif
 
+#define SIZE_1M 0x00100000
+
 namespace ovutils = overlay::utils;
 
 namespace overlay {
@@ -93,7 +95,10 @@
 }
 
 void MdssRot::setFlags(const utils::eMdpFlags& flags) {
-    // TODO
+    mRotInfo.flags &= ~utils::OV_MDP_SECURE_OVERLAY_SESSION;
+    if (flags & utils::OV_MDP_SECURE_OVERLAY_SESSION) {
+        mRotInfo.flags |= utils::OV_MDP_SECURE_OVERLAY_SESSION;
+    }
 }
 
 void MdssRot::setTransform(const utils::eTransform& rot, const bool& rotUsed)
@@ -167,8 +172,9 @@
 {
     OvMem mem;
     OVASSERT(MAP_FAILED == mem.addr(), "MAP failed in open_i");
+    bool isSecure = mRotInfo.flags & utils::OV_MDP_SECURE_OVERLAY_SESSION;
 
-    if(!mem.open(numbufs, bufsz, false)){ // TODO: secure for badger
+    if(!mem.open(numbufs, bufsz, isSecure)){
         ALOGE("%s: Failed to open", __func__);
         mem.close();
         return false;
@@ -254,5 +260,7 @@
         mBufSize = VENUS_BUFFER_SIZE(COLOR_FMT_NV12, mRotInfo.dst_rect.w,
                                      mRotInfo.dst_rect.h);
     }
+    if (mRotInfo.flags & utils::OV_MDP_SECURE_OVERLAY_SESSION)
+        mBufSize = utils::align(mBufSize, SIZE_1M);
 }
 } // namespace overlay
diff --git a/liboverlay/overlayMem.h b/liboverlay/overlayMem.h
index 60ed8fe..e81c2dc 100644
--- a/liboverlay/overlayMem.h
+++ b/liboverlay/overlayMem.h
@@ -119,8 +119,9 @@
     alloc_data data;
     int allocFlags = GRALLOC_USAGE_PRIVATE_IOMMU_HEAP;
     if(isSecure) {
-        allocFlags |= GRALLOC_USAGE_PRIVATE_MM_HEAP;
+        allocFlags = GRALLOC_USAGE_PRIVATE_MM_HEAP;
         allocFlags |= GRALLOC_USAGE_PRIVATE_CP_BUFFER;
+        allocFlags |= GRALLOC_USAGE_PRIVATE_UNCACHED;
     }
 
     int err = 0;
diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h
index 28d2b67..cbacf3e 100644
--- a/liboverlay/overlayUtils.h
+++ b/liboverlay/overlayUtils.h
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
+* Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
@@ -44,7 +44,8 @@
 #include <utils/Log.h>
 #include "gralloc_priv.h" //for interlace
 
-#ifndef MDP_Y_CBCR_H2V2_VENUS
+// Older platforms do not support Venus.
+#ifndef VENUS_COLOR_FORMAT
 #define MDP_Y_CBCR_H2V2_VENUS (MDP_IMGTYPE_LIMIT2 + 1)
 #endif