summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorSatyajit Desai <sadesai@codeaurora.org>2016-06-27 12:39:34 -0700
committerSatyajit Desai <sadesai@codeaurora.org>2016-08-19 14:56:53 -0700
commitc34bf4be22d64499449d1cfe550b05365d048403 (patch)
tree9a1558daae6ed11ba043063b2ab588c227e191c6 /include/linux
parent0c8cf716fa02d0f6b6ef2ef1446f9f4819fc83dd (diff)
coresight: abort coresight tracing on kernel crash
Add trace events to control aborting CoreSight trace dynamically based on module parameter. Coresight driver will dump any trace present in the current sink in case we hit a kernel panic, user fault or an undefined instruction. Change-Id: Iee1ccf5cbd7b767753a3115c0570e63fbe2aa8f3 Signed-off-by: Satyajit Desai <sadesai@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/coresight.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/coresight.h b/include/linux/coresight.h
index 903a8e852f5d..66bf56640fe1 100644
--- a/include/linux/coresight.h
+++ b/include/linux/coresight.h
@@ -194,10 +194,12 @@ struct coresight_device {
* Operations available for sinks
* @enable: enables the sink.
* @disable: disables the sink.
+ * @abort: captures sink trace on abort
*/
struct coresight_ops_sink {
int (*enable)(struct coresight_device *csdev);
void (*disable)(struct coresight_device *csdev);
+ void (*abort)(struct coresight_device *csdev);
};
/**
@@ -239,6 +241,7 @@ extern int coresight_enable(struct coresight_device *csdev);
extern void coresight_disable(struct coresight_device *csdev);
extern int coresight_timeout(void __iomem *addr, u32 offset,
int position, int value);
+extern void coresight_abort(void);
#else
static inline struct coresight_device *
coresight_register(struct coresight_desc *desc) { return NULL; }
@@ -248,6 +251,7 @@ coresight_enable(struct coresight_device *csdev) { return -ENOSYS; }
static inline void coresight_disable(struct coresight_device *csdev) {}
static inline int coresight_timeout(void __iomem *addr, u32 offset,
int position, int value) { return 1; }
+static inline void coresight_abort(void) {}
#endif
#if defined(CONFIG_OF) && defined(CONFIG_CORESIGHT)