linux/drivers/hwtracing/coresight
Suzuki K Poulose 75f4e3619f coresight: tmc-etr: Add transparent buffer management
The TMC-ETR can use the target trace buffer in two different modes.
Normal physically contiguous mode and a discontiguous list pages in
Scatter-Gather mode. Also we have dedicated Coresight component, CATU
(Coresight Address Translation Unit) to provide improved scatter-gather
mode in Coresight SoC-600. This complicates the management of the
buffer used for trace, depending on the mode in which ETR is configured.

So, this patch adds a transparent layer for managing the ETR buffer
which abstracts the basic operations on the buffer (alloc, free,
sync and retrieve the data) and uses the mode specific helpers to
do the actual operation. This also allows the ETR driver to choose
the best mode for a given use case and adds the flexibility to
fallback to a different mode, without duplicating the code.

The patch also adds the "normal" flat memory mode and switches
the sysfs driver to use the new layer.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-15 13:52:57 +02:00
..
coresight-cpu-debug.c coresight: Remove %px for printing pcsr value 2018-05-14 16:20:00 +02:00
coresight-dynamic-replicator.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etb10.c coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
coresight-etm3x-sysfs.c coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm3x.c coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm4x-sysfs.c coresight: etm4x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm4x.c coresight: ETM: Add support for Arm Cortex-A73 and Cortex-A35 2018-07-15 13:52:56 +02:00
coresight-etm4x.h coresight: etm4x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-etm-cp14.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm-perf.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm-perf.h coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-etm.h coresight: etm3x: Don't use contextID with PID namespaces 2018-07-15 13:52:56 +02:00
coresight-funnel.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-priv.h coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
coresight-replicator.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-stm.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight-tmc-etf.c coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
coresight-tmc-etr.c coresight: tmc-etr: Add transparent buffer management 2018-07-15 13:52:57 +02:00
coresight-tmc.c dts: bindings: Restrict coresight tmc-etr scatter-gather mode 2018-07-15 13:52:57 +02:00
coresight-tmc.h coresight: tmc-etr: Add transparent buffer management 2018-07-15 13:52:57 +02:00
coresight-tpiu.c coresight: Moving framework and drivers to SPDX identifier 2018-05-14 16:19:59 +02:00
coresight.c coresight: Add helper for inserting synchronization packets 2018-07-15 13:52:57 +02:00
Kconfig coresight replicator: Cleanup programmable replicator naming 2017-08-28 16:05:48 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
of_coresight.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00