liboverlay: Enable secure content flag in Mdss Rotator.
- Secured contents shared with hardware should be uncached.
- Secure heap needs to be contiguously allocated & aligned to 1MB,
which is not supported by IOMMU heap.
Change-Id: I6c7c00d5363319f9a6db6e52c1e78e1b16ecd9aa
diff --git a/liboverlay/overlayMdssRot.cpp b/liboverlay/overlayMdssRot.cpp
index 60d63a2..f1024b4 100644
--- a/liboverlay/overlayMdssRot.cpp
+++ b/liboverlay/overlayMdssRot.cpp
@@ -93,7 +93,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 +170,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;