linux_dsm_epyc7002/drivers/hwtracing/coresight
Mathieu Poirier f973d88b75 coresight: Move reference counting inside sink drivers
When operating in CPU-wide mode with an N:1 source/sink HW topology,
multiple CPUs can access a sink concurrently.  As such reference counting
needs to happen when the device's spinlock is held to avoid racing with
other operations (start(), update(), stop()), such as:

session A				Session B
-----					-------

enable_sink
atomic_inc(refcount)  = 1

...

atomic_dec(refcount) = 0		enable_sink
if (refcount == 0) disable_sink
					atomic_inc()

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Tested-by: Leo Yan <leo.yan@linaro.org>
Tested-by: Robert Walker <robert.walker@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-25 22:00:16 +02:00
..
coresight-catu.c coresight: catu: Cleanup power management 2019-04-25 22:00:16 +02:00
coresight-catu.h coresight: catu: fix clang build warning 2019-04-25 22:00:14 +02:00
coresight-cpu-debug.c coresight: cpu-debug: Support for CA73 CPUs 2019-02-08 12:27:36 +01:00
coresight-etb10.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +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 ARM: 8838/1: drivers: amba: Updates to component identification for driver matching. 2019-02-26 11:23:48 +00: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: etm4x: Configure tracers to emit timestamps 2019-04-25 22:00:16 +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: etm4x: Add kernel configuration for CONTEXTID 2019-04-25 22:00:16 +02:00
coresight-etm-perf.h coresight: perf: Add "sinks" group to PMU directory 2019-02-08 12:27:36 +01: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: funnel: Claim devices before use 2018-09-25 20:09:19 +02:00
coresight-priv.h ARM updates for 5.1-rc1 2019-03-15 14:37:46 -07:00
coresight-replicator.c coresight: Merge the static and dynamic replicator drivers 2019-04-25 22:00:15 +02:00
coresight-stm.c ARM updates for 5.1-rc1 2019-03-15 14:37:46 -07:00
coresight-tmc-etf.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
coresight-tmc-etr.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
coresight-tmc.c coresight: tmc: Cleanup power management 2019-04-25 22:00:16 +02:00
coresight-tmc.h coresight: etm-perf: Add support for ETR backend 2018-09-25 20:09:18 +02:00
coresight-tpiu.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
coresight.c coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
Kconfig coresight: etm4x: Add kernel configuration for CONTEXTID 2019-04-25 22:00:16 +02:00
Makefile coresight: Merge the static and dynamic replicator drivers 2019-04-25 22:00:15 +02:00
of_coresight.c coresight: Use of_node_name_eq for node name comparisons 2019-02-08 12:27:36 +01:00