Loading drivers/firmware/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o obj-$(CONFIG_RASPBERRYPI_FIRMWARE) += raspberrypi.o obj-$(CONFIG_FW_CFG_SYSFS) += qemu_fw_cfg.o obj-$(CONFIG_QCOM_SCM) += _qcom_scm.o _qcom_scm-y += qcom_scm.o qcom_scm-smc.o qcom_smc.o _qcom_scm-y += qcom_scm.o qcom_scm-smc.o _qcom_scm-$(CONFIG_QTEE_SHM_BRIDGE) += qtee_shmbridge.o obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o Loading drivers/firmware/qcom_scm-smc.c +4 −3 Original line number Diff line number Diff line Loading @@ -1915,7 +1915,8 @@ int __qcom_scm_invoke_callback_response(struct device *dev, phys_addr_t out_buf, return ret; } int __qcom_scm_qseecom_do(u32 cmd_id, struct scm_desc *desc, bool retry) int __qcom_scm_qseecom_do(struct device *dev, u32 cmd_id, struct scm_desc *desc, bool retry) { int _ret; struct qcom_scm_desc _desc; Loading @@ -1927,9 +1928,9 @@ int __qcom_scm_qseecom_do(u32 cmd_id, struct scm_desc *desc, bool retry) _desc.arginfo = desc->arginfo; if (retry) _ret = qcom_scm_call(NULL, &_desc); _ret = qcom_scm_call(dev, &_desc); else _ret = qcom_scm_call_noretry(NULL, &_desc); _ret = qcom_scm_call_noretry(dev, &_desc); memcpy(desc->ret, &_desc.res, sizeof(_desc.res)); Loading drivers/firmware/qcom_scm.c +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <linux/of_platform.h> #include <linux/clk.h> #include <linux/reset-controller.h> #include <soc/qcom/qseecom_scm.h> #include "qcom_scm.h" #include "qtee_shmbridge_internal.h" Loading Loading @@ -894,6 +895,21 @@ int qcom_scm_invoke_callback_response(phys_addr_t out_buf, return __qcom_scm_invoke_callback_response(__scm->dev, out_buf, out_buf_size, result, response_type, data); } EXPORT_SYMBOL(qcom_scm_invoke_callback_response); int qcom_scm_qseecom_call(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(__scm ? __scm->dev : NULL, cmd_id, desc, true); } EXPORT_SYMBOL(qcom_scm_qseecom_call); int qcom_scm_qseecom_call_noretry(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(__scm ? __scm->dev : NULL, cmd_id, desc, false); } EXPORT_SYMBOL(qcom_scm_qseecom_call_noretry); /** * qcom_scm_is_available() - Checks if SCM is available Loading drivers/firmware/qcom_scm.h +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ extern int __qcom_scm_camera_protect_all(struct device *dev, uint32_t protect, extern int __qcom_scm_camera_protect_phy_lanes(struct device *dev, bool protect, u64 regmask); extern int __qcom_scm_qseecom_do(struct device *dev, u32 cmd_id, struct scm_desc *desc, bool retry); // TOS Services and Function IDs #define QCOM_SCM_SVC_QSEELOG 0x01 #define QCOM_SCM_QSEELOG_REGISTER 0x06 Loading drivers/firmware/qcom_smc.cdeleted 100644 → 0 +0 −19 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019 The Linux Foundation. All rights reserved. */ #include <linux/device.h> #include <linux/arm-smccc.h> #include <soc/qcom/qseecom_scm.h> int qcom_scm_qseecom_call(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(cmd_id, desc, true); } EXPORT_SYMBOL(qcom_scm_qseecom_call); int qcom_scm_qseecom_call_noretry(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(cmd_id, desc, false); } EXPORT_SYMBOL(qcom_scm_qseecom_call_noretry); Loading
drivers/firmware/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ obj-$(CONFIG_FIRMWARE_MEMMAP) += memmap.o obj-$(CONFIG_RASPBERRYPI_FIRMWARE) += raspberrypi.o obj-$(CONFIG_FW_CFG_SYSFS) += qemu_fw_cfg.o obj-$(CONFIG_QCOM_SCM) += _qcom_scm.o _qcom_scm-y += qcom_scm.o qcom_scm-smc.o qcom_smc.o _qcom_scm-y += qcom_scm.o qcom_scm-smc.o _qcom_scm-$(CONFIG_QTEE_SHM_BRIDGE) += qtee_shmbridge.o obj-$(CONFIG_TI_SCI_PROTOCOL) += ti_sci.o obj-$(CONFIG_TRUSTED_FOUNDATIONS) += trusted_foundations.o Loading
drivers/firmware/qcom_scm-smc.c +4 −3 Original line number Diff line number Diff line Loading @@ -1915,7 +1915,8 @@ int __qcom_scm_invoke_callback_response(struct device *dev, phys_addr_t out_buf, return ret; } int __qcom_scm_qseecom_do(u32 cmd_id, struct scm_desc *desc, bool retry) int __qcom_scm_qseecom_do(struct device *dev, u32 cmd_id, struct scm_desc *desc, bool retry) { int _ret; struct qcom_scm_desc _desc; Loading @@ -1927,9 +1928,9 @@ int __qcom_scm_qseecom_do(u32 cmd_id, struct scm_desc *desc, bool retry) _desc.arginfo = desc->arginfo; if (retry) _ret = qcom_scm_call(NULL, &_desc); _ret = qcom_scm_call(dev, &_desc); else _ret = qcom_scm_call_noretry(NULL, &_desc); _ret = qcom_scm_call_noretry(dev, &_desc); memcpy(desc->ret, &_desc.res, sizeof(_desc.res)); Loading
drivers/firmware/qcom_scm.c +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <linux/of_platform.h> #include <linux/clk.h> #include <linux/reset-controller.h> #include <soc/qcom/qseecom_scm.h> #include "qcom_scm.h" #include "qtee_shmbridge_internal.h" Loading Loading @@ -894,6 +895,21 @@ int qcom_scm_invoke_callback_response(phys_addr_t out_buf, return __qcom_scm_invoke_callback_response(__scm->dev, out_buf, out_buf_size, result, response_type, data); } EXPORT_SYMBOL(qcom_scm_invoke_callback_response); int qcom_scm_qseecom_call(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(__scm ? __scm->dev : NULL, cmd_id, desc, true); } EXPORT_SYMBOL(qcom_scm_qseecom_call); int qcom_scm_qseecom_call_noretry(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(__scm ? __scm->dev : NULL, cmd_id, desc, false); } EXPORT_SYMBOL(qcom_scm_qseecom_call_noretry); /** * qcom_scm_is_available() - Checks if SCM is available Loading
drivers/firmware/qcom_scm.h +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ extern int __qcom_scm_camera_protect_all(struct device *dev, uint32_t protect, extern int __qcom_scm_camera_protect_phy_lanes(struct device *dev, bool protect, u64 regmask); extern int __qcom_scm_qseecom_do(struct device *dev, u32 cmd_id, struct scm_desc *desc, bool retry); // TOS Services and Function IDs #define QCOM_SCM_SVC_QSEELOG 0x01 #define QCOM_SCM_QSEELOG_REGISTER 0x06 Loading
drivers/firmware/qcom_smc.cdeleted 100644 → 0 +0 −19 Original line number Diff line number Diff line // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2019 The Linux Foundation. All rights reserved. */ #include <linux/device.h> #include <linux/arm-smccc.h> #include <soc/qcom/qseecom_scm.h> int qcom_scm_qseecom_call(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(cmd_id, desc, true); } EXPORT_SYMBOL(qcom_scm_qseecom_call); int qcom_scm_qseecom_call_noretry(u32 cmd_id, struct scm_desc *desc) { return __qcom_scm_qseecom_do(cmd_id, desc, false); } EXPORT_SYMBOL(qcom_scm_qseecom_call_noretry);