Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1445789
| From | Mathieu Poirier <mathieu.poirier@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 04/10] coresight: etm4x: split default and filter configuration |
| Date | 2016-07-18 22:00 +0200 |
| Message-ID | <rWmRQ-26O-15@gated-at.bofh.it> (permalink) |
| References | <rWmRP-26O-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Splitting the steps involved in the configuration of a tracer.
The first part is generic and can be reused for both sysFS and
Perf methods.
The second part pertains to the configuration of filters
themselves where the source of the information used to
configure the filters will vary depending on the access
methods.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
drivers/hwtracing/coresight/coresight-etm4x.c | 36 ++++++++++++++++-----------
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-etm4x.c b/drivers/hwtracing/coresight/coresight-etm4x.c
index 1fe1f0e86daf..9978cf7a5600 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x.c
@@ -565,21 +565,8 @@ static void etm4_init_arch_data(void *info)
CS_LOCK(drvdata->base);
}
-static void etm4_set_default(struct etmv4_config *config)
+static void etm4_set_default_config(struct etmv4_config *config)
{
- if (WARN_ON_ONCE(!config))
- return;
-
- /*
- * Make default initialisation trace everything
- *
- * Select the "always true" resource selector on the
- * "Enablign Event" line and configure address range comparator
- * '0' to trace all the possible address range. From there
- * configure the "include/exclude" engine to include address
- * range comparator '0'.
- */
-
/* disable all events tracing */
config->eventctrl0 = 0x0;
config->eventctrl1 = 0x0;
@@ -595,7 +582,10 @@ static void etm4_set_default(struct etmv4_config *config)
/* TRCVICTLR::EVENT = 0x01, select the always on logic */
config->vinst_ctrl |= BIT(0);
+}
+static void etm4_set_default_filter(struct etmv4_config *config)
+{
/*
* TRCVICTLR::SSSTATUS == 1, the start-stop logic is
* in the started state
@@ -641,6 +631,24 @@ static void etm4_set_default(struct etmv4_config *config)
config->vissctlr = 0x0;
}
+static void etm4_set_default(struct etmv4_config *config)
+{
+ if (WARN_ON_ONCE(!config))
+ return;
+
+ /*
+ * Make default initialisation trace everything
+ *
+ * Select the "always true" resource selector on the
+ * "Enablign Event" line and configure address range comparator
+ * '0' to trace all the possible address range. From there
+ * configure the "include/exclude" engine to include address
+ * range comparator '0'.
+ */
+ etm4_set_default_config(config);
+ etm4_set_default_filter(config);
+}
+
void etm4_config_trace_mode(struct etmv4_config *config)
{
u32 addr_acc, mode;
--
2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/10] coresight: implementing address filtering Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 09/10] coresight: etm4x: adding configurable start/stop filtering Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 06/10] coresight: etm4x: adding range filter configuration function Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 04/10] coresight: etm4x: split default and filter configuration Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 10/10] coresight: documenting range and start/stop filtering Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 02/10] coresight: remove duplicated enumeration Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 07/10] coresight: etm4x: configuring include/exclude function Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 01/10] coresight: etm-perf: pass struct perf_event to source::enable/disable() Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
Re: [PATCH 01/10] coresight: etm-perf: pass struct perf_event to source::enable/disable() Suzuki K Poulose <Suzuki.Poulose@arm.com> - 2016-07-20 17:40 +0200
Re: [PATCH 01/10] coresight: etm-perf: pass struct perf_event to source::enable/disable() Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-21 17:30 +0200
[PATCH 03/10] coresight: etm-perf: configuring filters from perf core Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
Re: [PATCH 03/10] coresight: etm-perf: configuring filters from perf core Suzuki K Poulose <Suzuki.Poulose@arm.com> - 2016-07-20 18:10 +0200
Re: [PATCH 03/10] coresight: etm-perf: configuring filters from perf core Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-21 17:20 +0200
Re: [PATCH 03/10] coresight: etm-perf: configuring filters from perf core Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-21 19:20 +0200
[PATCH 05/10] coresight: etm4x: cleaning up default filter configuration Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
[PATCH 08/10] coresight: etm4x: adding configurable address range filtering Mathieu Poirier <mathieu.poirier@linaro.org> - 2016-07-18 22:00 +0200
csiph-web