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);
}
}