summaryrefslogtreecommitdiff
path: root/drivers/bus/tegra-aconnect.c
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2016-08-11 10:50:43 +0100
committerPawel Moll <pawel.moll@arm.com>2016-08-26 09:16:18 +0100
commitd662ed2e50c9dab1d4c25e80fa3e01ebe257bd65 (patch)
tree6d156228a6d37b892cc2c401752666dd435f162b /drivers/bus/tegra-aconnect.c
parent5b1e01f3ce15d3a8f2af5d38cc31f0d5c3c11dae (diff)
downloadlinux-d662ed2e50c9dab1d4c25e80fa3e01ebe257bd65.tar.gz
linux-d662ed2e50c9dab1d4c25e80fa3e01ebe257bd65.tar.xz
bus: arm-ccn: make event groups reliable
The CCN PMU driver leaves the counting logic always enabled, and thus events are enabled while groups are manipulated. As each event is stopped and read individually, this leads to arbitrary skew across event groups, which can be seen if counting several identical events. To avoid this, implement pmu_{enable,disable} callbacks to stop and start all counters atomically around event manipulation. As the counters are now stopped, we cannot poll the cycle counter to wait for events to drain from the bus. However, as the counters are stopped and the events will not be read regardless, we can simply allow the bus to drain naturally. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Diffstat (limited to 'drivers/bus/tegra-aconnect.c')
0 files changed, 0 insertions, 0 deletions