Loading arch/arm/configs/vendor/sa515m-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_TIME_MARKER=y CONFIG_QCOM_DCC_V2=y CONFIG_SDX_EXT_IPC=y CONFIG_QTI_NOTIFY_SIDEBAND=y CONFIG_QCOM_SECURE_BUFFER=y CONFIG_QCOM_EUD=y CONFIG_QCOM_BUS_SCALING=y Loading arch/arm/configs/vendor/sa515m_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -407,6 +407,7 @@ CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_TIME_MARKER=y CONFIG_QCOM_DCC_V2=y CONFIG_SDX_EXT_IPC=y CONFIG_QTI_NOTIFY_SIDEBAND=y CONFIG_QCOM_SECURE_BUFFER=y CONFIG_QCOM_EUD=y CONFIG_QCOM_BUS_SCALING=y Loading drivers/soc/qcom/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -525,6 +525,15 @@ config SDX_EXT_IPC If unsure, say N. config QTI_NOTIFY_SIDEBAND tristate "QCOM sideband signalling helper" help This provides helper APIs and a header file through which transport layer driver can talk to the sideband driver to assert appropriate sideband signal. If unsure, say N. config PANIC_ON_GLADIATOR_ERROR depends on MSM_GLADIATOR_ERP bool "Panic on GLADIATOR error report" Loading drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ obj-$(CONFIG_MSM_CDSP_LOADER) += qdsp6v2/ obj-$(CONFIG_QCOM_SMCINVOKE) += smcinvoke.o obj-$(CONFIG_SDX_EXT_IPC) += sdx_ext_ipc.o obj-$(CONFIG_MSM_PIL_SSR_BG) += subsys-pil-bg.o obj-$(CONFIG_QTI_NOTIFY_SIDEBAND) += sideband_notify.o ifdef CONFIG_MSM_SUBSYSTEM_RESTART obj-y += subsystem_notif.o Loading drivers/soc/qcom/sideband_notify.c 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (c) 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 * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include <linux/notifier.h> #include <soc/qcom/sb_notification.h> static BLOCKING_NOTIFIER_HEAD(sb_notifier_list); /** * sb_register_evt_listener - registers a notifier callback * @nb: pointer to the notifier block for the callback events */ int sb_register_evt_listener(struct notifier_block *nb) { return blocking_notifier_chain_register(&sb_notifier_list, nb); } EXPORT_SYMBOL(sb_register_evt_listener); /** * sb_unregister_evt_listener - un-registers a notifier callback * registered previously. * @nb: pointer to the notifier block for the callback events */ int sb_unregister_evt_listener(struct notifier_block *nb) { return blocking_notifier_chain_unregister(&sb_notifier_list, nb); } EXPORT_SYMBOL(sb_unregister_evt_listener); /** * sb_notifier_call_chain - send events to all registered listeners * as received from publishers. * @nb: pointer to the notifier block for the callback events */ int sb_notifier_call_chain(unsigned long val, void *v) { return blocking_notifier_call_chain(&sb_notifier_list, val, v); } EXPORT_SYMBOL(sb_notifier_call_chain); Loading
arch/arm/configs/vendor/sa515m-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -402,6 +402,7 @@ CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_TIME_MARKER=y CONFIG_QCOM_DCC_V2=y CONFIG_SDX_EXT_IPC=y CONFIG_QTI_NOTIFY_SIDEBAND=y CONFIG_QCOM_SECURE_BUFFER=y CONFIG_QCOM_EUD=y CONFIG_QCOM_BUS_SCALING=y Loading
arch/arm/configs/vendor/sa515m_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -407,6 +407,7 @@ CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_TIME_MARKER=y CONFIG_QCOM_DCC_V2=y CONFIG_SDX_EXT_IPC=y CONFIG_QTI_NOTIFY_SIDEBAND=y CONFIG_QCOM_SECURE_BUFFER=y CONFIG_QCOM_EUD=y CONFIG_QCOM_BUS_SCALING=y Loading
drivers/soc/qcom/Kconfig +9 −0 Original line number Diff line number Diff line Loading @@ -525,6 +525,15 @@ config SDX_EXT_IPC If unsure, say N. config QTI_NOTIFY_SIDEBAND tristate "QCOM sideband signalling helper" help This provides helper APIs and a header file through which transport layer driver can talk to the sideband driver to assert appropriate sideband signal. If unsure, say N. config PANIC_ON_GLADIATOR_ERROR depends on MSM_GLADIATOR_ERP bool "Panic on GLADIATOR error report" Loading
drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -70,6 +70,7 @@ obj-$(CONFIG_MSM_CDSP_LOADER) += qdsp6v2/ obj-$(CONFIG_QCOM_SMCINVOKE) += smcinvoke.o obj-$(CONFIG_SDX_EXT_IPC) += sdx_ext_ipc.o obj-$(CONFIG_MSM_PIL_SSR_BG) += subsys-pil-bg.o obj-$(CONFIG_QTI_NOTIFY_SIDEBAND) += sideband_notify.o ifdef CONFIG_MSM_SUBSYSTEM_RESTART obj-y += subsystem_notif.o Loading
drivers/soc/qcom/sideband_notify.c 0 → 100644 +50 −0 Original line number Diff line number Diff line /* * Copyright (c) 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 * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #include <linux/notifier.h> #include <soc/qcom/sb_notification.h> static BLOCKING_NOTIFIER_HEAD(sb_notifier_list); /** * sb_register_evt_listener - registers a notifier callback * @nb: pointer to the notifier block for the callback events */ int sb_register_evt_listener(struct notifier_block *nb) { return blocking_notifier_chain_register(&sb_notifier_list, nb); } EXPORT_SYMBOL(sb_register_evt_listener); /** * sb_unregister_evt_listener - un-registers a notifier callback * registered previously. * @nb: pointer to the notifier block for the callback events */ int sb_unregister_evt_listener(struct notifier_block *nb) { return blocking_notifier_chain_unregister(&sb_notifier_list, nb); } EXPORT_SYMBOL(sb_unregister_evt_listener); /** * sb_notifier_call_chain - send events to all registered listeners * as received from publishers. * @nb: pointer to the notifier block for the callback events */ int sb_notifier_call_chain(unsigned long val, void *v) { return blocking_notifier_call_chain(&sb_notifier_list, val, v); } EXPORT_SYMBOL(sb_notifier_call_chain);