linux/drivers/bus
Mark Rutland d662ed2e50 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>
2016-08-26 09:16:18 +01:00
..
arm-cci.c bus/arm-cci: Convert to hotplug statemachine 2016-07-14 09:34:39 +02:00
arm-ccn.c bus: arm-ccn: make event groups reliable 2016-08-26 09:16:18 +01:00
brcmstb_gisb.c BUS: brcmstb_gisb: Hook to MIPS board_be_handler 2016-05-13 14:01:55 +02:00
imx-weim.c bus: imx-weim: use of_platform_default_populate() to populate default bus 2016-06-23 15:00:45 -05:00
Kconfig bus: Add support for Tegra ACONNECT 2016-07-01 16:35:43 +02:00
Makefile bus: Add support for Tegra ACONNECT 2016-07-01 16:35:43 +02:00
mips_cdmm.c MIPS: Remove no longer needed work_on_cpu() call 2016-05-13 14:02:17 +02:00
mvebu-mbus.c bus: mvebu-mbus: make mvebu_mbus_syscore_ops static 2016-07-11 17:59:24 +02:00
omap_l3_noc.c Merge branches 'pm-sleep' and 'pm-runtime' 2015-06-19 01:18:02 +02:00
omap_l3_noc.h bus: omap_l3_noc: Fix master id address decoding for OMAP5 2015-05-04 10:21:01 -07:00
omap_l3_smx.c genirq: Remove the deprecated 'IRQF_DISABLED' request_irq() flag entirely 2015-03-05 20:53:06 +01:00
omap_l3_smx.h
omap-ocp2scp.c bus: omap-ocp2scp: Fix module alias 2015-10-12 16:10:04 -07:00
simple-pm-bus.c drivers: bus: Add Simple Power-Managed Bus Driver 2015-02-24 06:36:18 +09:00
sunxi-rsb.c drivers: sunxi-rsb: fix error output type 2016-01-25 00:00:49 +01:00
tegra-aconnect.c bus: Add support for Tegra ACONNECT 2016-07-01 16:35:43 +02:00
uniphier-system-bus.c bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus 2016-06-23 15:00:48 -05:00
vexpress-config.c bus: vexpress-config: Add missing of_node_put 2016-02-01 09:59:58 +00:00