linux/drivers/hwtracing/coresight
Suzuki K Poulose 96a7f64400 coresight: tmc-etr: Handle driver mode specific ETR buffers
Since the ETR could be driven either by SYSFS or by perf, it
becomes complicated how we deal with the buffers used for each
of these modes. The ETR driver cannot simply free the current
attached buffer without knowing the provider (i.e, sysfs vs perf).

To solve this issue, we provide:
1) the driver-mode specific etr buffer to be retained in the drvdata
2) the etr_buf for a session should be passed on when enabling the
   hardware, which will be stored in drvdata->etr_buf. This will be
   replaced (not free'd) as soon as the hardware is disabled, after
   necessary sync operation.

The advantages of this are :

1) The common code path doesn't need to worry about how to dispose
   an existing buffer, if it is about to start a new session with a
   different buffer, possibly in a different mode.
2) The driver mode can control its buffers and can get access to the
   saved session even when the hardware is operating in a different
   mode. (e.g, we can still access a trace buffer from a sysfs mode
   even if the etr is now used in perf mode, without disrupting the
   current session.)

Towards this, we introduce a sysfs specific data which will hold the
etr_buf used for sysfs mode of operation, controlled solely by the
sysfs mode handling code.

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-09-25 20:09:17 +02:00
..
coresight-catu.c coresight: catu: Plug in CATU as a backend for ETR buffer 2018-07-15 13:52:59 +02:00
coresight-catu.h coresight: catu: Plug in CATU as a backend for ETR buffer 2018-07-15 13:52:59 +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: etb10: Fix handling of perf mode 2018-09-25 20:09:17 +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: perf: Disable trace path upon source error 2018-09-25 20:09:17 +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: Handle driver mode specific ETR buffers 2018-09-25 20:09:17 +02:00
coresight-tmc.c coresight: tmc: Add configuration support for trace buffer size 2018-07-15 13:52:57 +02:00
coresight-tmc.h coresight: tmc-etr: Handle driver mode specific ETR buffers 2018-09-25 20:09:17 +02:00
coresight-tpiu.c coresight: tpiu: Fix disabling timeouts 2018-07-15 13:52:59 +02:00
coresight.c coresight: Fix handling of sinks 2018-09-25 20:09:17 +02:00
Kconfig coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
Makefile coresight: Introduce support for Coresight Address Translation Unit 2018-07-15 13:52:58 +02:00
of_coresight.c coresight: Cleanup coresight DT bindings 2018-09-25 20:09:17 +02:00