remoteproc: create a 'recovery' debugfs entry

Add a 'recovery' debugfs entry to dynamically disable/enable recovery
at runtime. This is useful when one is trying to debug an rproc crash;
without it, a recovery will immediately take place, making it harder
to debug the crash.

Contributions from Subramaniam Chanderashekarapuram.

Examples:

- disabling recovery:
$ echo disabled > <debugfs>/remoteproc/remoteproc0/recovery

- in case you want to recover a crash, but keep recovery disabled
  (useful in debugging sessions when you expect additional crashes
   you want to debug):
$ echo recover > <debugfs>/remoteproc/remoteproc0/recovery

- enabling recovery:
$ echo enabled > <debugfs>/remoteproc/remoteproc0/recovery

Signed-off-by: Fernando Guzman Lugo <fernando.lugo@ti.com>
[ohad: some white space, commentary and commit log changes]
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
This commit is contained in:
Fernando Guzman Lugo 2012-09-18 12:26:35 +03:00 committed by Ohad Ben-Cohen
parent 70b85ef83c
commit 2e37abb89a
3 changed files with 85 additions and 1 deletions

View file

@ -399,6 +399,7 @@ enum rproc_crash_type {
* @crash_handler: workqueue for handling a crash
* @crash_cnt: crash counter
* @crash_comp: completion used to sync crash handler and the rproc reload
* @recovery_disabled: flag that state if recovery was disabled
*/
struct rproc {
struct klist_node node;
@ -425,6 +426,7 @@ struct rproc {
struct work_struct crash_handler;
unsigned crash_cnt;
struct completion crash_comp;
bool recovery_disabled;
};
/* we currently support only two vrings per rvdev */