Loading arch/arm64/configs/vendor/qcs405_defconfig +1 −0 Original line number Original line Diff line number Diff line Loading @@ -412,6 +412,7 @@ CONFIG_MSM_SPM=y CONFIG_MSM_L2_SPM=y CONFIG_MSM_L2_SPM=y CONFIG_QCOM_SCM=y CONFIG_QCOM_SCM=y CONFIG_QCOM_MEMORY_DUMP_V2=y CONFIG_QCOM_MEMORY_DUMP_V2=y CONFIG_MSM_DEBUG_LAR_UNLOCK=y CONFIG_QCOM_WATCHDOG_V2=y CONFIG_QCOM_WATCHDOG_V2=y CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y CONFIG_QCOM_WDOG_IPI_ENABLE=y CONFIG_QCOM_WDOG_IPI_ENABLE=y Loading drivers/soc/qcom/Kconfig +9 −0 Original line number Original line Diff line number Diff line Loading @@ -226,6 +226,15 @@ config QCOM_MEMORY_DUMP_V2 of deadlocks or cpu hangs these dump regions are captured to of deadlocks or cpu hangs these dump regions are captured to give a snapshot of the system at the time of the crash. give a snapshot of the system at the time of the crash. config MSM_DEBUG_LAR_UNLOCK bool "MSM Debug LAR Unlock Support" depends on QCOM_MEMORY_DUMP_V2 help This allows unlocking Core Debug lock to allow capture of upper 32 bits of program counter at the time of system crash. This is useful in getting correct crash location. config QCOM_WATCHDOG_V2 config QCOM_WATCHDOG_V2 bool "Qualcomm Watchdog Support" bool "Qualcomm Watchdog Support" depends on ARCH_QCOM depends on ARCH_QCOM Loading drivers/soc/qcom/memory_dump_v2.c +2 −7 Original line number Original line Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * * This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -212,13 +212,8 @@ early_initcall(init_memory_dump); static int __init init_debug_lar_unlock(void) static int __init init_debug_lar_unlock(void) { { int ret; int ret; uint32_t argument = 0; struct scm_desc desc = {0}; struct scm_desc desc = {0}; if (!is_scm_armv8()) ret = scm_call(SCM_SVC_TZ, SCM_CMD_DEBUG_LAR_UNLOCK, &argument, sizeof(argument), NULL, 0); else ret = scm_call2(SCM_SIP_FNID(SCM_SVC_TZ, ret = scm_call2(SCM_SIP_FNID(SCM_SVC_TZ, SCM_CMD_DEBUG_LAR_UNLOCK), &desc); SCM_CMD_DEBUG_LAR_UNLOCK), &desc); if (ret) if (ret) Loading Loading
arch/arm64/configs/vendor/qcs405_defconfig +1 −0 Original line number Original line Diff line number Diff line Loading @@ -412,6 +412,7 @@ CONFIG_MSM_SPM=y CONFIG_MSM_L2_SPM=y CONFIG_MSM_L2_SPM=y CONFIG_QCOM_SCM=y CONFIG_QCOM_SCM=y CONFIG_QCOM_MEMORY_DUMP_V2=y CONFIG_QCOM_MEMORY_DUMP_V2=y CONFIG_MSM_DEBUG_LAR_UNLOCK=y CONFIG_QCOM_WATCHDOG_V2=y CONFIG_QCOM_WATCHDOG_V2=y CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y CONFIG_QCOM_WDOG_IPI_ENABLE=y CONFIG_QCOM_WDOG_IPI_ENABLE=y Loading
drivers/soc/qcom/Kconfig +9 −0 Original line number Original line Diff line number Diff line Loading @@ -226,6 +226,15 @@ config QCOM_MEMORY_DUMP_V2 of deadlocks or cpu hangs these dump regions are captured to of deadlocks or cpu hangs these dump regions are captured to give a snapshot of the system at the time of the crash. give a snapshot of the system at the time of the crash. config MSM_DEBUG_LAR_UNLOCK bool "MSM Debug LAR Unlock Support" depends on QCOM_MEMORY_DUMP_V2 help This allows unlocking Core Debug lock to allow capture of upper 32 bits of program counter at the time of system crash. This is useful in getting correct crash location. config QCOM_WATCHDOG_V2 config QCOM_WATCHDOG_V2 bool "Qualcomm Watchdog Support" bool "Qualcomm Watchdog Support" depends on ARCH_QCOM depends on ARCH_QCOM Loading
drivers/soc/qcom/memory_dump_v2.c +2 −7 Original line number Original line Diff line number Diff line /* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * * This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -212,13 +212,8 @@ early_initcall(init_memory_dump); static int __init init_debug_lar_unlock(void) static int __init init_debug_lar_unlock(void) { { int ret; int ret; uint32_t argument = 0; struct scm_desc desc = {0}; struct scm_desc desc = {0}; if (!is_scm_armv8()) ret = scm_call(SCM_SVC_TZ, SCM_CMD_DEBUG_LAR_UNLOCK, &argument, sizeof(argument), NULL, 0); else ret = scm_call2(SCM_SIP_FNID(SCM_SVC_TZ, ret = scm_call2(SCM_SIP_FNID(SCM_SVC_TZ, SCM_CMD_DEBUG_LAR_UNLOCK), &desc); SCM_CMD_DEBUG_LAR_UNLOCK), &desc); if (ret) if (ret) Loading