diff options
| author | 2012-03-19 17:02:01 -0700 | |
|---|---|---|
| committer | 2012-03-19 17:02:01 -0700 | |
| commit | 10ce3cc919f50c2043b41ca968b43c26a3672600 (patch) | |
| tree | ea409366a5208aced495bc0516a08b81fd43222e /arch/powerpc/kernel/perf_event.c | |
| parent | Input: wacom - fix physical size calculation for 3rd-gen Bamboo (diff) | |
| parent | Input: ili210x - add support for Ilitek ILI210x based touchscreens (diff) | |
| download | wireguard-linux-10ce3cc919f50c2043b41ca968b43c26a3672600.tar.xz wireguard-linux-10ce3cc919f50c2043b41ca968b43c26a3672600.zip | |
Merge branch 'next' into for-linus
Diffstat (limited to '')
| -rw-r--r-- | arch/powerpc/kernel/perf_event.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/perf_event.c b/arch/powerpc/kernel/perf_event.c index 10a140f82cb8..64483fde95c6 100644 --- a/arch/powerpc/kernel/perf_event.c +++ b/arch/powerpc/kernel/perf_event.c @@ -865,6 +865,7 @@ static void power_pmu_start(struct perf_event *event, int ef_flags) { unsigned long flags; s64 left; + unsigned long val; if (!event->hw.idx || !event->hw.sample_period) return; @@ -880,7 +881,12 @@ static void power_pmu_start(struct perf_event *event, int ef_flags) event->hw.state = 0; left = local64_read(&event->hw.period_left); - write_pmc(event->hw.idx, left); + + val = 0; + if (left < 0x80000000L) + val = 0x80000000L - left; + + write_pmc(event->hw.idx, val); perf_event_update_userpage(event); perf_pmu_enable(event->pmu); |
