linux/drivers/hwtracing
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 coresight: Move reference counting inside sink drivers 2019-04-25 22:00:16 +02:00
intel_th intel_th: gth: Fix an off-by-one in output unassigning 2019-03-01 09:20:38 +01:00
stm stm class: Prevent division by zero 2019-02-21 17:44:18 +02:00
Kconfig hwtracing: Add HW tracing support menu 2018-03-29 13:38:10 +03:00