Loading drivers/soc/qcom/hab/hab.c +20 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ static struct hab_device hab_devices[] = { HAB_DEVICE_CNSTR(DEVICE_QCPE4_NAME, MM_QCPE_VM4, 17), HAB_DEVICE_CNSTR(DEVICE_CLK1_NAME, MM_CLK_VM1, 18), HAB_DEVICE_CNSTR(DEVICE_CLK2_NAME, MM_CLK_VM2, 19), HAB_DEVICE_CNSTR(DEVICE_FDE1_NAME, MM_FDE_1, 20), HAB_DEVICE_CNSTR(DEVICE_BUFFERQ1_NAME, MM_BUFFERQ_1, 21), }; struct hab_driver hab_driver = { Loading Loading @@ -624,7 +626,24 @@ static void hab_generate_pchan(struct local_vmid *settings, int i, int j) HABCFG_GET_BE(settings, i, j)); } break; case MM_FDE_START/100: for (k = MM_FDE_START + 1; k < MM_FDE_END; k++) { ret += hab_initialize_pchan_entry( find_hab_device(k), settings->self, HABCFG_GET_VMID(settings, i), HABCFG_GET_BE(settings, i, j)); } break; case MM_BUFFERQ_START/100: for (k = MM_BUFFERQ_START + 1; k < MM_BUFFERQ_END; k++) { ret += hab_initialize_pchan_entry( find_hab_device(k), settings->self, HABCFG_GET_VMID(settings, i), HABCFG_GET_BE(settings, i, j)); } break; default: pr_err("failed to find mmid %d, i %d, j %d\n", HABCFG_GET_MMID(settings, i, j), i, j); Loading drivers/soc/qcom/hab/hab.h +2 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,8 @@ enum hab_payload_type { #define DEVICE_QCPE4_NAME "hab_qcpe_vm4" #define DEVICE_CLK1_NAME "hab_clock_vm1" #define DEVICE_CLK2_NAME "hab_clock_vm2" #define DEVICE_FDE1_NAME "hab_fde1" #define DEVICE_BUFFERQ1_NAME "hab_bufferq1" /* make sure concascaded name is less than this value */ #define MAX_VMID_NAME_SIZE 30 Loading drivers/soc/qcom/hab/hab_qvm.c +2 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,8 @@ static struct shmem_irq_config pchan_factory_settings[] = { {0x1b011000, 24}, {0x1b012000, 25}, {0x1b013000, 26}, {0x1b014000, 27}, {0x1b015000, 28}, }; static struct qvm_plugin_info { Loading include/uapi/linux/habmm.h +9 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,15 @@ struct hab_unimport { #define MM_CLK_VM2 802 #define MM_CLK_END 803 #define MM_ID_MAX 804 #define MM_FDE_START 900 #define MM_FDE_1 901 #define MM_FDE_END 902 #define MM_BUFFERQ_START 1000 #define MM_BUFFERQ_1 1001 #define MM_BUFFERQ_END 1002 #define MM_ID_MAX 1003 #define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_FE 0x00000000 #define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_DOMU 0x00000001 Loading Loading
drivers/soc/qcom/hab/hab.c +20 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ static struct hab_device hab_devices[] = { HAB_DEVICE_CNSTR(DEVICE_QCPE4_NAME, MM_QCPE_VM4, 17), HAB_DEVICE_CNSTR(DEVICE_CLK1_NAME, MM_CLK_VM1, 18), HAB_DEVICE_CNSTR(DEVICE_CLK2_NAME, MM_CLK_VM2, 19), HAB_DEVICE_CNSTR(DEVICE_FDE1_NAME, MM_FDE_1, 20), HAB_DEVICE_CNSTR(DEVICE_BUFFERQ1_NAME, MM_BUFFERQ_1, 21), }; struct hab_driver hab_driver = { Loading Loading @@ -624,7 +626,24 @@ static void hab_generate_pchan(struct local_vmid *settings, int i, int j) HABCFG_GET_BE(settings, i, j)); } break; case MM_FDE_START/100: for (k = MM_FDE_START + 1; k < MM_FDE_END; k++) { ret += hab_initialize_pchan_entry( find_hab_device(k), settings->self, HABCFG_GET_VMID(settings, i), HABCFG_GET_BE(settings, i, j)); } break; case MM_BUFFERQ_START/100: for (k = MM_BUFFERQ_START + 1; k < MM_BUFFERQ_END; k++) { ret += hab_initialize_pchan_entry( find_hab_device(k), settings->self, HABCFG_GET_VMID(settings, i), HABCFG_GET_BE(settings, i, j)); } break; default: pr_err("failed to find mmid %d, i %d, j %d\n", HABCFG_GET_MMID(settings, i, j), i, j); Loading
drivers/soc/qcom/hab/hab.h +2 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,8 @@ enum hab_payload_type { #define DEVICE_QCPE4_NAME "hab_qcpe_vm4" #define DEVICE_CLK1_NAME "hab_clock_vm1" #define DEVICE_CLK2_NAME "hab_clock_vm2" #define DEVICE_FDE1_NAME "hab_fde1" #define DEVICE_BUFFERQ1_NAME "hab_bufferq1" /* make sure concascaded name is less than this value */ #define MAX_VMID_NAME_SIZE 30 Loading
drivers/soc/qcom/hab/hab_qvm.c +2 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,8 @@ static struct shmem_irq_config pchan_factory_settings[] = { {0x1b011000, 24}, {0x1b012000, 25}, {0x1b013000, 26}, {0x1b014000, 27}, {0x1b015000, 28}, }; static struct qvm_plugin_info { Loading
include/uapi/linux/habmm.h +9 −1 Original line number Diff line number Diff line Loading @@ -109,7 +109,15 @@ struct hab_unimport { #define MM_CLK_VM2 802 #define MM_CLK_END 803 #define MM_ID_MAX 804 #define MM_FDE_START 900 #define MM_FDE_1 901 #define MM_FDE_END 902 #define MM_BUFFERQ_START 1000 #define MM_BUFFERQ_1 1001 #define MM_BUFFERQ_END 1002 #define MM_ID_MAX 1003 #define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_FE 0x00000000 #define HABMM_SOCKET_OPEN_FLAGS_SINGLE_BE_SINGLE_DOMU 0x00000001 Loading