diff --git a/drivers/soc/qcom/secure_buffer.c b/drivers/soc/qcom/secure_buffer.c index 3aa83b0eac98..be674b035afe 100644 --- a/drivers/soc/qcom/secure_buffer.c +++ b/drivers/soc/qcom/secure_buffer.c @@ -347,6 +347,38 @@ err1: return ret; } +const char *msm_secure_vmid_to_string(int secure_vmid) +{ + switch (secure_vmid) { + case VMID_HLOS: + return "VMID_HLOS"; + case VMID_CP_TOUCH: + return "VMID_CP_TOUCH"; + case VMID_CP_BITSTREAM: + return "VMID_CP_BITSTREAM"; + case VMID_CP_PIXEL: + return "VMID_CP_PIXEL"; + case VMID_CP_NON_PIXEL: + return "VMID_CP_NON_PIXEL"; + case VMID_CP_CAMERA: + return "VMID_CP_CAMERA"; + case VMID_HLOS_FREE: + return "VMID_HLOS_FREE"; + case VMID_MSS_MSA: + return "VMID_MSS_MSA"; + case VMID_MSS_NONMSA: + return "VMID_MSS_NONMSA"; + case VMID_CP_SEC_DISPLAY: + return "VMID_CP_SEC_DISPLAY"; + case VMID_CP_APP: + return "VMID_CP_APP"; + case VMID_INVAL: + return "VMID_INVAL"; + default: + return "Unknown VMID"; + } +} + #define MAKE_CP_VERSION(major, minor, patch) \ (((major & 0x3FF) << 22) | ((minor & 0x3FF) << 12) | (patch & 0xFFF)) diff --git a/include/soc/qcom/secure_buffer.h b/include/soc/qcom/secure_buffer.h index 893c139c8c04..a9386d71e3d5 100644 --- a/include/soc/qcom/secure_buffer.h +++ b/include/soc/qcom/secure_buffer.h @@ -27,6 +27,10 @@ #define VMID_CP_SEC_DISPLAY 0x11 #define VMID_CP_APP 0x12 #define VMID_INVAL -1 +/* + * if you add a secure VMID here make sure you update + * msm_secure_vmid_to_string + */ #define PERM_READ 0x4 #define PERM_WRITE 0x2 @@ -43,6 +47,7 @@ int hyp_assign_phys(phys_addr_t addr, u64 size, u32 *source_vmlist, int source_nelems, int *dest_vmids, int *dest_perms, int dest_nelems); bool msm_secure_v2_is_supported(void); +const char *msm_secure_vmid_to_string(int secure_vmid); #else static inline int msm_secure_table(struct sg_table *table) { @@ -71,5 +76,9 @@ static inline bool msm_secure_v2_is_supported(void) { return false; } +const char *msm_secure_vmid_to_string(int secure_vmid) +{ + return "N/A"; +} #endif #endif