From c7c426ff7c1f32df33d2deae69a54c31a2a83358 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Wed, 17 Jun 2020 23:46:45 -0700 Subject: [PATCH 1/2] soc: qcom: secure_buffer: Add support for VMID_ADSP_HEAP and VMID_LPASS Add support for mapping memory to/from VMID_ADSP_HEAP and VMID_LPASS. Change-Id: Ie479de719cbfbccb726b3284665573806958ac89 Signed-off-by: Isaac J. Manjarres --- drivers/soc/qcom/secure_buffer.c | 4 ++++ include/soc/qcom/secure_buffer.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/drivers/soc/qcom/secure_buffer.c b/drivers/soc/qcom/secure_buffer.c index e19919583c4d..5ee8f5833b1f 100644 --- a/drivers/soc/qcom/secure_buffer.c +++ b/drivers/soc/qcom/secure_buffer.c @@ -268,6 +268,8 @@ const char *msm_secure_vmid_to_string(int secure_vmid) return "VMID_CP_SEC_DISPLAY"; case VMID_CP_APP: return "VMID_CP_APP"; + case VMID_LPASS: + return "VMID_LPASS"; case VMID_WLAN: return "VMID_WLAN"; case VMID_WLAN_CE: @@ -280,6 +282,8 @@ const char *msm_secure_vmid_to_string(int secure_vmid) return "VMID_CP_SPSS_SP_SHARED"; case VMID_CP_SPSS_HLOS_SHARED: return "VMID_CP_SPSS_HLOS_SHARED"; + case VMID_ADSP_HEAP: + return "VMID_ADSP_HEAP"; case VMID_INVAL: return "VMID_INVAL"; default: diff --git a/include/soc/qcom/secure_buffer.h b/include/soc/qcom/secure_buffer.h index c69a97783a3e..b4627621b0fa 100644 --- a/include/soc/qcom/secure_buffer.h +++ b/include/soc/qcom/secure_buffer.h @@ -26,12 +26,14 @@ enum vmid { VMID_MSS_NONMSA = 0x10, VMID_CP_SEC_DISPLAY = 0x11, VMID_CP_APP = 0x12, + VMID_LPASS = 0x16, VMID_WLAN = 0x18, VMID_WLAN_CE = 0x19, VMID_CP_SPSS_SP = 0x1A, VMID_CP_CAMERA_PREVIEW = 0x1D, VMID_CP_SPSS_SP_SHARED = 0x22, VMID_CP_SPSS_HLOS_SHARED = 0x24, + VMID_ADSP_HEAP = 0x25, VMID_CP_CDSP = 0x2A, VMID_LAST, VMID_INVAL = -1 From 1e594e4481ec575332bbe696a598cf8707a8c645 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Wed, 17 Jun 2020 23:50:57 -0700 Subject: [PATCH 2/2] staging: android: ion: Add support for the audio ML heap Add support for creating the audio ML CMA heap. This heap will be used to provide machine learning (ML) information to audio hardware, which can only use physically contiguous memory. Change-Id: I7b4677c7a178d3fc8592a43cac08799e8124fefe Signed-off-by: Isaac J. Manjarres --- drivers/staging/android/ion/heaps/msm_ion.c | 4 ++++ drivers/staging/android/ion/heaps/msm_ion_priv.h | 1 + include/uapi/linux/msm_ion_ids.h | 1 + 3 files changed, 6 insertions(+) diff --git a/drivers/staging/android/ion/heaps/msm_ion.c b/drivers/staging/android/ion/heaps/msm_ion.c index 034ada0db765..78f08907f378 100644 --- a/drivers/staging/android/ion/heaps/msm_ion.c +++ b/drivers/staging/android/ion/heaps/msm_ion.c @@ -87,6 +87,10 @@ static struct ion_heap_desc ion_heap_meta[] = { .id = ION_DISPLAY_HEAP_ID, .name = ION_DISPLAY_HEAP_NAME, }, + { + .id = ION_AUDIO_ML_HEAP_ID, + .name = ION_AUDIO_ML_HEAP_NAME, + }, }; #define MAKE_HEAP_TYPE_MAPPING(h) { .name = #h, \ diff --git a/drivers/staging/android/ion/heaps/msm_ion_priv.h b/drivers/staging/android/ion/heaps/msm_ion_priv.h index 25ef749ae70d..cf1231eb3478 100644 --- a/drivers/staging/android/ion/heaps/msm_ion_priv.h +++ b/drivers/staging/android/ion/heaps/msm_ion_priv.h @@ -40,6 +40,7 @@ #define ION_AUDIO_HEAP_NAME "audio" #define ION_TUI_CARVEOUT_HEAP_NAME "tui_carveout" #define ION_DISPLAY_HEAP_NAME "display" +#define ION_AUDIO_ML_HEAP_NAME "audio_ml" /** * Debug feature. Make ION allocations DMA diff --git a/include/uapi/linux/msm_ion_ids.h b/include/uapi/linux/msm_ion_ids.h index 30a75bcc63a8..9a36cae13063 100644 --- a/include/uapi/linux/msm_ion_ids.h +++ b/include/uapi/linux/msm_ion_ids.h @@ -21,6 +21,7 @@ #define ION_CAMERA_HEAP_ID ION_BIT(2) #define ION_DISPLAY_HEAP_ID ION_BIT(3) #define ION_ADSP_HEAP_ID ION_BIT(4) +#define ION_AUDIO_ML_HEAP_ID ION_BIT(5) #define ION_USER_CONTIG_HEAP_ID ION_BIT(6) #define ION_QSECOM_HEAP_ID ION_BIT(7) #define ION_AUDIO_HEAP_ID ION_BIT(8)