OSDN Git Service

msm: secure_buffer: Add VMID_CP_CAMERA_PREVIEW
authorLiam Mark <lmark@codeaurora.org>
Thu, 22 Sep 2016 18:30:51 +0000 (11:30 -0700)
committerLiam Mark <lmark@codeaurora.org>
Fri, 30 Sep 2016 17:25:26 +0000 (10:25 -0700)
Add support for VMID_CP_CAMERA_PREVIEW

Change-Id: Ifacc1ff95262c6240283d19cf02dcac37933c141
Signed-off-by: Liam Mark <lmark@codeaurora.org>
drivers/soc/qcom/secure_buffer.c
drivers/staging/android/ion/msm/msm_ion.c
drivers/staging/android/uapi/msm_ion.h
include/soc/qcom/secure_buffer.h

index e7dbcac..d9ebc1e 100644 (file)
@@ -418,6 +418,8 @@ const char *msm_secure_vmid_to_string(int secure_vmid)
                return "VMID_WLAN";
        case VMID_WLAN_CE:
                return "VMID_WLAN_CE";
+       case VMID_CP_CAMERA_PREVIEW:
+               return "VMID_CP_CAMERA_PREVIEW";
        case VMID_INVAL:
                return "VMID_INVAL";
        default:
index cd420c4..592c603 100644 (file)
@@ -632,7 +632,8 @@ bool is_secure_vmid_valid(int vmid)
                vmid == VMID_CP_NON_PIXEL ||
                vmid == VMID_CP_CAMERA ||
                vmid == VMID_CP_SEC_DISPLAY ||
-               vmid == VMID_CP_APP);
+               vmid == VMID_CP_APP ||
+               vmid == VMID_CP_CAMERA_PREVIEW);
 }
 
 int get_secure_vmid(unsigned long flags)
@@ -651,6 +652,8 @@ int get_secure_vmid(unsigned long flags)
                return VMID_CP_SEC_DISPLAY;
        if (flags & ION_FLAG_CP_APP)
                return VMID_CP_APP;
+       if (flags & ION_FLAG_CP_CAMERA_PREVIEW)
+               return VMID_CP_CAMERA_PREVIEW;
        return -EINVAL;
 }
 /* fix up the cases where the ioctl direction bits are incorrect */
index b3c2982..54a4672 100644 (file)
@@ -3,6 +3,8 @@
 
 #include "ion.h"
 
+#define ION_BIT(nr) (1UL << (nr))
+
 enum msm_ion_heap_types {
        ION_HEAP_TYPE_MSM_START = ION_HEAP_TYPE_CUSTOM + 1,
        ION_HEAP_TYPE_SECURE_DMA = ION_HEAP_TYPE_MSM_START,
@@ -76,39 +78,41 @@ enum cp_mem_usage {
  * Flags to be used when allocating from the secure heap for
  * content protection
  */
-#define ION_FLAG_CP_TOUCH (1 << 17)
-#define ION_FLAG_CP_BITSTREAM (1 << 18)
-#define ION_FLAG_CP_PIXEL  (1 << 19)
-#define ION_FLAG_CP_NON_PIXEL (1 << 20)
-#define ION_FLAG_CP_CAMERA (1 << 21)
-#define ION_FLAG_CP_HLOS (1 << 22)
-#define ION_FLAG_CP_HLOS_FREE (1 << 23)
-#define ION_FLAG_CP_SEC_DISPLAY (1 << 25)
-#define ION_FLAG_CP_APP (1 << 26)
+#define ION_FLAG_CP_TOUCH              ION_BIT(17)
+#define ION_FLAG_CP_BITSTREAM          ION_BIT(18)
+#define ION_FLAG_CP_PIXEL              ION_BIT(19)
+#define ION_FLAG_CP_NON_PIXEL          ION_BIT(20)
+#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_SEC_DISPLAY                ION_BIT(25)
+#define ION_FLAG_CP_APP                        ION_BIT(26)
+#define ION_FLAG_CP_CAMERA_PREVIEW     ION_BIT(27)
+
 
 /**
  * Flag to allow non continguous allocation of memory from secure
  * heap
  */
-#define ION_FLAG_ALLOW_NON_CONTIG (1 << 24)
+#define ION_FLAG_ALLOW_NON_CONTIG      ION_BIT(24)
 
 /**
  * Flag to use when allocating to indicate that a heap is secure.
  */
-#define ION_FLAG_SECURE (1 << ION_HEAP_ID_RESERVED)
+#define ION_FLAG_SECURE                        ION_BIT(ION_HEAP_ID_RESERVED)
 
 /**
  * Flag for clients to force contiguous memort allocation
  *
  * Use of this flag is carefully monitored!
  */
-#define ION_FLAG_FORCE_CONTIGUOUS (1 << 30)
+#define ION_FLAG_FORCE_CONTIGUOUS      ION_BIT(30)
 
 /*
  * Used in conjunction with heap which pool memory to force an allocation
  * to come from the page allocator directly instead of from the pool allocation
  */
-#define ION_FLAG_POOL_FORCE_ALLOC (1 << 16)
+#define ION_FLAG_POOL_FORCE_ALLOC      ION_BIT(16)
 
 /**
 * Deprecated! Please use the corresponding ION_FLAG_*
@@ -119,7 +123,7 @@ enum cp_mem_usage {
 /**
  * Macro should be used with ion_heap_ids defined above.
  */
-#define ION_HEAP(bit) (1 << (bit))
+#define ION_HEAP(bit)                  ION_BIT(bit)
 
 #define ION_ADSP_HEAP_NAME     "adsp"
 #define ION_SYSTEM_HEAP_NAME   "system"
index ffa6556..59971c0 100644 (file)
@@ -37,6 +37,7 @@ enum vmid {
        VMID_CP_APP = 0x12,
        VMID_WLAN = 0x18,
        VMID_WLAN_CE = 0x19,
+       VMID_CP_CAMERA_PREVIEW = 0x1D,
        VMID_LAST,
        VMID_INVAL = -1
 };