summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudarshan Rajagopalan <sudaraja@codeaurora.org>2017-06-28 17:45:57 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-02-16 01:35:43 -0800
commitb07c54bfd13a724109d0b77fce5e9cb28205a7c4 (patch)
treeefa13acc15ff33c1a674ccb33f37bf2f777fd0b6
parent38edeeedb5505a5d6148b8022ca2a5f9f3f4e5f6 (diff)
msm: secure_buffer: Add SPSS_SP_SHARED vmid
Add support for SPSS_SP_SHARED vmid. This vmid is equivalent to TZ VM, which can be used for sharing memory with TZ with the assign call. Change-Id: I10b98820796e8bab7b8275f5ddf44e8814dc0fb0 Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
-rw-r--r--drivers/soc/qcom/secure_buffer.c2
-rw-r--r--drivers/staging/android/ion/msm/msm_ion.c5
-rw-r--r--drivers/staging/android/uapi/msm_ion.h1
-rw-r--r--include/soc/qcom/secure_buffer.h1
4 files changed, 8 insertions, 1 deletions
diff --git a/drivers/soc/qcom/secure_buffer.c b/drivers/soc/qcom/secure_buffer.c
index e7a00cdb5b03..38ccc62a8484 100644
--- a/drivers/soc/qcom/secure_buffer.c
+++ b/drivers/soc/qcom/secure_buffer.c
@@ -412,6 +412,8 @@ const char *msm_secure_vmid_to_string(int secure_vmid)
return "VMID_WLAN_CE";
case VMID_CP_CAMERA_PREVIEW:
return "VMID_CP_CAMERA_PREVIEW";
+ case VMID_CP_SPSS_SP_SHARED:
+ return "VMID_CP_SPSS_SP_SHARED";
case VMID_INVAL:
return "VMID_INVAL";
default:
diff --git a/drivers/staging/android/ion/msm/msm_ion.c b/drivers/staging/android/ion/msm/msm_ion.c
index a1dd5ccc8109..989d336c0648 100644
--- a/drivers/staging/android/ion/msm/msm_ion.c
+++ b/drivers/staging/android/ion/msm/msm_ion.c
@@ -652,7 +652,8 @@ bool is_secure_vmid_valid(int vmid)
vmid == VMID_CP_CAMERA ||
vmid == VMID_CP_SEC_DISPLAY ||
vmid == VMID_CP_APP ||
- vmid == VMID_CP_CAMERA_PREVIEW);
+ vmid == VMID_CP_CAMERA_PREVIEW ||
+ vmid == VMID_CP_SPSS_SP_SHARED);
}
int get_secure_vmid(unsigned long flags)
@@ -673,6 +674,8 @@ int get_secure_vmid(unsigned long flags)
return VMID_CP_APP;
if (flags & ION_FLAG_CP_CAMERA_PREVIEW)
return VMID_CP_CAMERA_PREVIEW;
+ if (flags & ION_FLAG_CP_SPSS_SP_SHARED)
+ return VMID_CP_SPSS_SP_SHARED;
return -EINVAL;
}
/* fix up the cases where the ioctl direction bits are incorrect */
diff --git a/drivers/staging/android/uapi/msm_ion.h b/drivers/staging/android/uapi/msm_ion.h
index 54a4672ff143..401528545255 100644
--- a/drivers/staging/android/uapi/msm_ion.h
+++ b/drivers/staging/android/uapi/msm_ion.h
@@ -85,6 +85,7 @@ enum cp_mem_usage {
#define ION_FLAG_CP_CAMERA ION_BIT(21)
#define ION_FLAG_CP_HLOS ION_BIT(22)
#define ION_FLAG_CP_HLOS_FREE ION_BIT(23)
+#define ION_FLAG_CP_SPSS_SP_SHARED ION_BIT(24)
#define ION_FLAG_CP_SEC_DISPLAY ION_BIT(25)
#define ION_FLAG_CP_APP ION_BIT(26)
#define ION_FLAG_CP_CAMERA_PREVIEW ION_BIT(27)
diff --git a/include/soc/qcom/secure_buffer.h b/include/soc/qcom/secure_buffer.h
index b5e71387a6fc..1e22937b61bb 100644
--- a/include/soc/qcom/secure_buffer.h
+++ b/include/soc/qcom/secure_buffer.h
@@ -38,6 +38,7 @@ enum vmid {
VMID_WLAN = 0x18,
VMID_WLAN_CE = 0x19,
VMID_CP_CAMERA_PREVIEW = 0x1D,
+ VMID_CP_SPSS_SP_SHARED = 0x22,
VMID_LAST,
VMID_INVAL = -1
};