Loading arch/arm64/boot/dts/qcom/quin-vm-common.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,18 @@ role = "fe"; remote-vmids = <0>; }; mmidgrp1100: mmidgrp1100 { grp-start-id = <1100>; role = "fe"; remote-vmids = <0>; }; mmidgrp1200: mmidgrp1200 { grp-start-id = <1200>; role = "fe"; remote-vmids = <0>; }; }; sde_kms_hyp: qcom,sde_kms_hyp@ae00000 { Loading drivers/soc/qcom/hab/hab.c +21 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,9 @@ static struct hab_device hab_devices[] = { HAB_DEVICE_CNSTR(DEVICE_CLK2_NAME, MM_CLK_VM2, 17), HAB_DEVICE_CNSTR(DEVICE_FDE1_NAME, MM_FDE_1, 18), HAB_DEVICE_CNSTR(DEVICE_BUFFERQ1_NAME, MM_BUFFERQ_1, 19), HAB_DEVICE_CNSTR(DEVICE_DATA1_NAME, MM_DATA_NETWORK_1, 20), HAB_DEVICE_CNSTR(DEVICE_DATA2_NAME, MM_DATA_NETWORK_2, 21), HAB_DEVICE_CNSTR(DEVICE_HSI2S1_NAME, MM_HSI2S_1, 22), }; struct hab_driver hab_driver = { Loading Loading @@ -917,6 +920,24 @@ static int hab_generate_pchan(struct local_vmid *settings, int i, int j) HABCFG_GET_BE(settings, i, j)); } break; case MM_DATA_START/100: for (k = MM_DATA_START + 1; k < MM_DATA_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_HSI2S_START/100: for (k = MM_HSI2S_START + 1; k < MM_HSI2S_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 +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ enum hab_payload_type { #define DEVICE_CLK2_NAME "hab_clock_vm2" #define DEVICE_FDE1_NAME "hab_fde1" #define DEVICE_BUFFERQ1_NAME "hab_bufferq1" #define DEVICE_DATA1_NAME "hab_data_network1" #define DEVICE_DATA2_NAME "hab_data_network2" #define DEVICE_HSI2S1_NAME "hab_hsi2s1" /* make sure concascaded name is less than this value */ #define MAX_VMID_NAME_SIZE 30 Loading drivers/soc/qcom/hab/hab_qvm.c +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -40,6 +40,8 @@ static struct shmem_irq_config pchan_factory_settings[] = { {0x1b013000, 26}, {0x1b014000, 27}, {0x1b015000, 28}, {0x1b016000, 29}, {0x1b017000, 30}, }; struct qvm_plugin_info qvm_priv_info = { Loading include/uapi/linux/habmmid.h +10 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,15 @@ #define MM_BUFFERQ_1 1001 #define MM_BUFFERQ_END 1002 #define MM_ID_MAX 1003 #define MM_DATA_START 1100 #define MM_DATA_NETWORK_1 1101 #define MM_DATA_NETWORK_2 1102 #define MM_DATA_END 1103 #define MM_HSI2S_START 1200 #define MM_HSI2S_1 1201 #define MM_HSI2S_END 1202 #define MM_ID_MAX 1203 #endif /* HABMMID_H */ Loading
arch/arm64/boot/dts/qcom/quin-vm-common.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,18 @@ role = "fe"; remote-vmids = <0>; }; mmidgrp1100: mmidgrp1100 { grp-start-id = <1100>; role = "fe"; remote-vmids = <0>; }; mmidgrp1200: mmidgrp1200 { grp-start-id = <1200>; role = "fe"; remote-vmids = <0>; }; }; sde_kms_hyp: qcom,sde_kms_hyp@ae00000 { Loading
drivers/soc/qcom/hab/hab.c +21 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,9 @@ static struct hab_device hab_devices[] = { HAB_DEVICE_CNSTR(DEVICE_CLK2_NAME, MM_CLK_VM2, 17), HAB_DEVICE_CNSTR(DEVICE_FDE1_NAME, MM_FDE_1, 18), HAB_DEVICE_CNSTR(DEVICE_BUFFERQ1_NAME, MM_BUFFERQ_1, 19), HAB_DEVICE_CNSTR(DEVICE_DATA1_NAME, MM_DATA_NETWORK_1, 20), HAB_DEVICE_CNSTR(DEVICE_DATA2_NAME, MM_DATA_NETWORK_2, 21), HAB_DEVICE_CNSTR(DEVICE_HSI2S1_NAME, MM_HSI2S_1, 22), }; struct hab_driver hab_driver = { Loading Loading @@ -917,6 +920,24 @@ static int hab_generate_pchan(struct local_vmid *settings, int i, int j) HABCFG_GET_BE(settings, i, j)); } break; case MM_DATA_START/100: for (k = MM_DATA_START + 1; k < MM_DATA_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_HSI2S_START/100: for (k = MM_HSI2S_START + 1; k < MM_HSI2S_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 +3 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,9 @@ enum hab_payload_type { #define DEVICE_CLK2_NAME "hab_clock_vm2" #define DEVICE_FDE1_NAME "hab_fde1" #define DEVICE_BUFFERQ1_NAME "hab_bufferq1" #define DEVICE_DATA1_NAME "hab_data_network1" #define DEVICE_DATA2_NAME "hab_data_network2" #define DEVICE_HSI2S1_NAME "hab_hsi2s1" /* make sure concascaded name is less than this value */ #define MAX_VMID_NAME_SIZE 30 Loading
drivers/soc/qcom/hab/hab_qvm.c +3 −1 Original line number Diff line number Diff line /* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. /* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -40,6 +40,8 @@ static struct shmem_irq_config pchan_factory_settings[] = { {0x1b013000, 26}, {0x1b014000, 27}, {0x1b015000, 28}, {0x1b016000, 29}, {0x1b017000, 30}, }; struct qvm_plugin_info qvm_priv_info = { Loading
include/uapi/linux/habmmid.h +10 −1 Original line number Diff line number Diff line Loading @@ -53,6 +53,15 @@ #define MM_BUFFERQ_1 1001 #define MM_BUFFERQ_END 1002 #define MM_ID_MAX 1003 #define MM_DATA_START 1100 #define MM_DATA_NETWORK_1 1101 #define MM_DATA_NETWORK_2 1102 #define MM_DATA_END 1103 #define MM_HSI2S_START 1200 #define MM_HSI2S_1 1201 #define MM_HSI2S_END 1202 #define MM_ID_MAX 1203 #endif /* HABMMID_H */