linux/drivers/bus
Suzuki K Poulose c66eea5f9f arm-cci: Delay PMU counter writes to pmu::pmu_enable
CCI PMU driver always reprograms the counters to a safe value (half of the
counter max, = 2^31) before starting the profiling to account for extreme
interrupt latencies. Also, the cost of writing to a PMU counter could be
very costly on some PMUs(e.g, CCI-500). In order to ammortise the cost of
programming the counters, this patch delays the counter writes to pmu::pmu_enable().
We use the PER_HES_ARCH flag to keep track of the counters which need to
be programmed. Before turning on the PMU, we go through the counters that
were marked for write, and perform the operation in a batch.

To unify all the counter writes to pmu_enable(), this patch also makes sure that
we disable-and-enable the PMU in the irq handler to program any counters that
overflowed.

Cc: Punit Agrawal <punit.agrawal@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-02-29 23:23:16 +00:00
..
arm-cci.c arm-cci: Delay PMU counter writes to pmu::pmu_enable 2016-02-29 23:23:16 +00:00
arm-ccn.c bus: arm-ccn: Fix irq affinity setting on CPU migration 2015-10-15 17:10:15 +02:00
brcmstb_gisb.c bus: brcmstb_gisb: Honor the "big-endian" and "native-endian" DT properties 2015-05-28 21:00:20 -07:00
imx-weim.c bus: imx-weim: improve error handling upon child probe-failure 2015-03-02 21:47:59 +08:00
Kconfig bus: uniphier: allow only built-in driver 2015-12-31 23:46:29 +01:00
Makefile bus: uniphier-system-bus: add UniPhier System Bus driver 2015-12-22 11:22:39 -08:00
mips_cdmm.c MIPS: Remove "weak" from mips_cdmm_phys_base() declaration 2015-09-03 12:07:39 +02:00
mvebu-mbus.c bus: mvebu-mbus: add mv_mbus_dram_info_nooverlap() 2015-05-28 12:21:08 +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 bus: sunxi-rsb: Fix peripheral IC mapping runtime address 2015-12-22 11:42:30 -08:00
uniphier-system-bus.c bus: uniphier-system-bus: add UniPhier System Bus driver 2015-12-22 11:22:39 -08:00
vexpress-config.c mfd: vexpress: Add parentheses around bridge->ops->regmap_init call 2015-08-07 14:50:59 +01:00