diff options
author | Daniel Thompson <daniel.thompson@linaro.org> | 2015-01-09 15:48:52 +0000 |
---|---|---|
committer | Daniel Thompson <daniel.thompson@linaro.org> | 2015-01-09 15:48:52 +0000 |
commit | afad48a1b03c591cf440802744519606668133ba (patch) | |
tree | 418027b994eaee4079cce5ad79088a8f340d795b /virt | |
parent | 70691b13d2b7876ab50f68ccba1c604d9b181fb2 (diff) |
arm: perf: Directly handle SMP platforms with one SPIdev/perf_single_irq
Some ARM platforms mux the PMU interrupt of every core into a single
SPI. On such platforms if the PMU of any core except 0 raises an interrupt
then it cannot be serviced and eventually, if you are lucky, the spurious
irq detection might forcefully disable the interrupt.
On these SoCs it is not possible to determine which core raised the
interrupt so workaround this issue by queuing irqwork on the other
cores whenever the primary interrupt handler is unable to service the
interrupt.
The u8500 platform has an alternative workaround that dynamically alters
the affinity of the PMU interrupt. This workaround logic is no longer
required so the original code is removed as is the hook it relied upon.
Tested on imx6q (which has fours cores/PMUs all muxed to a single SPI).
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions