summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/perf_event_v6.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2012-03-13 17:38:09 -0700
committerOlof Johansson <olof@lixom.net>2012-03-13 17:38:09 -0700
commitae0b82504e515fdb9bc23c0b770d2b30efd49dc9 (patch)
tree665d1f26b32f9e68346a9529388fbadec519e865 /arch/arm/kernel/perf_event_v6.c
parentf7c8faedf98aa5ec372e0191078ac7fe1e7fb067 (diff)
parenta6e24019468009a21b674e392d74283a90f415dd (diff)
Merge branch 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas into next/soc
* 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/renesas: (234 commits) ARM: shmobile: remove additional __io() macro use ARM: mach-shmobile: default to no earlytimer ARM: mach-shmobile: r8a7779 and Marzen timer rework ARM: mach-shmobile: r8a7740 and Bonito timer rework ARM: mach-shmobile: sh73a0, AG5EVM and Kota2 timer rework ARM: mach-shmobile: sh7372, AP4EVB and Mackerel timer rework ARM: mach-shmobile: sh7377 and G4EVM timer rework ARM: mach-shmobile: sh7367 and G3EVM timer rework ARM: mach-shmobile: add shmobile_earlytimer_init() ARM: mach-shmobile: Move sh7372 AP4EVB external clk setup ARM: mach-shmobile: Move sh7372 Mackerel external clk setup ARM: mach-shmobile: rename clk_init() to shmobile_clk_init() ARM: mach-shmobile: r8a7779 L2 cache support ARM: mach-shmobile: r8a7779 map_io and init_early update ARM: mach-shmobile: r8a7740 map_io and init_early update ARM: mach-shmobile: sh73a0 map_io and init_early update ARM: mach-shmobile: sh7372 map_io and init_early update ARM: mach-shmobile: sh7377 map_io and init_early update ARM: mach-shmobile: sh7367 map_io and init_early update sh: remove clk_ops ... (includes an update to v3.3-rc7) Conflicts: arch/arm/mach-omap2/id.c
Diffstat (limited to 'arch/arm/kernel/perf_event_v6.c')
-rw-r--r--arch/arm/kernel/perf_event_v6.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/arch/arm/kernel/perf_event_v6.c b/arch/arm/kernel/perf_event_v6.c
index 533be9930ec..b78af0cc6ef 100644
--- a/arch/arm/kernel/perf_event_v6.c
+++ b/arch/arm/kernel/perf_event_v6.c
@@ -467,23 +467,6 @@ armv6pmu_enable_event(struct hw_perf_event *hwc,
raw_spin_unlock_irqrestore(&events->pmu_lock, flags);
}
-static int counter_is_active(unsigned long pmcr, int idx)
-{
- unsigned long mask = 0;
- if (idx == ARMV6_CYCLE_COUNTER)
- mask = ARMV6_PMCR_CCOUNT_IEN;
- else if (idx == ARMV6_COUNTER0)
- mask = ARMV6_PMCR_COUNT0_IEN;
- else if (idx == ARMV6_COUNTER1)
- mask = ARMV6_PMCR_COUNT1_IEN;
-
- if (mask)
- return pmcr & mask;
-
- WARN_ONCE(1, "invalid counter number (%d)\n", idx);
- return 0;
-}
-
static irqreturn_t
armv6pmu_handle_irq(int irq_num,
void *dev)
@@ -513,7 +496,8 @@ armv6pmu_handle_irq(int irq_num,
struct perf_event *event = cpuc->events[idx];
struct hw_perf_event *hwc;
- if (!counter_is_active(pmcr, idx))
+ /* Ignore if we don't have an event. */
+ if (!event)
continue;
/*
@@ -524,7 +508,7 @@ armv6pmu_handle_irq(int irq_num,
continue;
hwc = &event->hw;
- armpmu_event_update(event, hwc, idx, 1);
+ armpmu_event_update(event, hwc, idx);
data.period = event->hw.last_period;
if (!armpmu_event_set_period(event, hwc, idx))
continue;