From 14eae186e431f5a8d17e84e4f7132b188fdc60d8 Mon Sep 17 00:00:00 2001 From: Elliot Berman Date: Wed, 27 Oct 2021 16:58:37 -0700 Subject: [PATCH] ANDROID: rproc: Add vendor hook when setting recovery mode Add vendor hook when setting recovery mode to notify coprocessor when mode is changed. Bug: 205534894 Signed-off-by: Elliot Berman Change-Id: Ie41170deb0426a7bcfeed8a51cc4e8e1a427592a --- drivers/android/vendor_hooks.c | 1 + drivers/remoteproc/remoteproc_sysfs.c | 3 +++ include/trace/hooks/remoteproc.h | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 46f71a3def2b..e3506cdeacb0 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -364,6 +364,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_force_compatible_post); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_print_transaction_info); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_setscheduler_uclamp); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_rproc_recovery_set); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ptype_head); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_kfree_skb); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_mmap_file); diff --git a/drivers/remoteproc/remoteproc_sysfs.c b/drivers/remoteproc/remoteproc_sysfs.c index d1cf7bf277c4..e3dc6ee27e58 100644 --- a/drivers/remoteproc/remoteproc_sysfs.c +++ b/drivers/remoteproc/remoteproc_sysfs.c @@ -5,6 +5,7 @@ #include #include +#include #include "remoteproc_internal.h" @@ -51,9 +52,11 @@ static ssize_t recovery_store(struct device *dev, if (sysfs_streq(buf, "enabled")) { /* change the flag and begin the recovery process if needed */ rproc->recovery_disabled = false; + trace_android_vh_rproc_recovery_set(rproc); rproc_trigger_recovery(rproc); } else if (sysfs_streq(buf, "disabled")) { rproc->recovery_disabled = true; + trace_android_vh_rproc_recovery_set(rproc); } else if (sysfs_streq(buf, "recover")) { /* begin the recovery process without changing the flag */ rproc_trigger_recovery(rproc); diff --git a/include/trace/hooks/remoteproc.h b/include/trace/hooks/remoteproc.h index 7cc5e93d2ebe..c39c2c1bffb3 100644 --- a/include/trace/hooks/remoteproc.h +++ b/include/trace/hooks/remoteproc.h @@ -12,10 +12,16 @@ struct rproc; +/* When recovery succeeds */ DECLARE_HOOK(android_vh_rproc_recovery, TP_PROTO(struct rproc *rproc), TP_ARGS(rproc)); +/* When recovery mode is enabled or disabled by sysfs */ +DECLARE_HOOK(android_vh_rproc_recovery_set, + TP_PROTO(struct rproc *rproc), + TP_ARGS(rproc)); + #endif /* _TRACE_HOOK_RPROC_H */ /* This part must be outside protection */ #include