Merge "msm: rotator: Pass ION flags correctly for 2-pass buffer allocation"
diff --git a/drivers/char/msm_rotator.c b/drivers/char/msm_rotator.c
index 305033b..f9dd874 100644
--- a/drivers/char/msm_rotator.c
+++ b/drivers/char/msm_rotator.c
@@ -274,7 +274,8 @@
 		pr_info("%s:%d ion based allocation\n",
 			__func__, __LINE__);
 		rot_buf->ihdl = ion_alloc(mrd->client, buffer_size, SZ_4K,
-			mrd->rot_session[s_ndx]->mem_hid, 0);
+			mrd->rot_session[s_ndx]->mem_hid,
+			mrd->rot_session[s_ndx]->mem_hid & ION_SECURE);
 		if (!IS_ERR_OR_NULL(rot_buf->ihdl)) {
 			if (rot_iommu_split_domain) {
 				if (ion_map_iommu(mrd->client, rot_buf->ihdl,
@@ -2512,10 +2513,12 @@
 		if (!IS_ERR_OR_NULL(mrd->client)) {
 			if (rot_session->img_info.secure) {
 				rot_session->mem_hid &= ~BIT(ION_IOMMU_HEAP_ID);
+				rot_session->mem_hid |= BIT(ION_CP_MM_HEAP_ID);
 				rot_session->mem_hid |= ION_SECURE;
 			} else {
-				rot_session->mem_hid |= BIT(ION_IOMMU_HEAP_ID);
+				rot_session->mem_hid &= ~BIT(ION_CP_MM_HEAP_ID);
 				rot_session->mem_hid &= ~ION_SECURE;
+				rot_session->mem_hid |= BIT(ION_IOMMU_HEAP_ID);
 			}
 		}