coresight: cti: Enable CTI associated with devices
authorMike Leach <mike.leach@linaro.org>
Fri, 20 Mar 2020 16:52:59 +0000 (10:52 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Mar 2020 10:32:20 +0000 (11:32 +0100)
commit177af8285b59a3887e4430d2c782598083cddcd7
treed77da94760b8f9d25f30bf6788a03201e17ad238
parenta5614770ab976720ca5f47b717fad016e604a035
coresight: cti: Enable CTI associated with devices

The CoreSight subsystem enables a path of devices from source to sink.
Any CTI devices associated with the path devices must be enabled at the
same time.

This patch adds an associated coresight_device element to the main
coresight device structure, and uses this to create associations between
the CTI and other devices based on the device tree data. The associated
device element is used to enable CTI in conjunction with the path elements.

CTI devices are reference counted so where a single CTI is associated with
multiple elements on the path, it will be enabled on the first associated
device enable, and disabled with the last associated device disable.

Signed-off-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20200320165303.13681-9-mathieu.poirier@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hwtracing/coresight/coresight-cti.c
drivers/hwtracing/coresight/coresight-cti.h
drivers/hwtracing/coresight/coresight-priv.h
drivers/hwtracing/coresight/coresight.c
include/linux/coresight.h