Commit Graph

10 Commits

Author SHA1 Message Date
Ashwin Chaugule
4afdedccc1 Perf: Switch to per-cpu IRQ framework
The L1CC PMU interrupt is a PPI, so use the per-CPU
request, free, enable, disable API.

Change-Id: I150dcb6ead34f0548c3fa31cc21bf7ac4d427a96
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2012-02-03 16:27:51 -05:00
Ashwin Chaugule
b5ca687960 Perf: Save and restore counters through powercollapse
Update the active perf counter data structs with the most recent
values of the counters before going into powercollapse and restore
the corresponding hardware counters with these values when coming
out of it.

This change fixes a bug where the counter outputs show wild swings
when CPU power collapse is enabled.

Change-Id: I9c4ff4d4504df5b50c33a796c605126448c440cb
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-12-13 11:55:14 -05:00
Ashwin Chaugule
464983a7e9 Perf: Use CPU PM notifiers to save and restore PMU regs
Some PMU registers have undefined values at reset. Power collapsing
CPU's can cause the PMU state to be messed up. Use the CPU PM notifiers
to save and restore PMU state correctly.

Change-Id: I4d5d73abc3455b38219239527d94d4afc30ed886
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-11-29 16:42:44 -05:00
Ashwin Chaugule
133ddac5a8 ARM: Perfevents: Add mode exclusion support for Krait P2
Mode exclusion allows for counting filtered by the mode
the CPU in running in.

e.g.

perf stat -e rXXX:u to count only userspace activity

perf stat -e rXXX:k to count only kernel activity

Change-Id: I6cf6035d3cfe8d3ee8534ffe130eac6e965aa899
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-11-29 16:42:22 -05:00
Ashwin Chaugule
ad9822f2e3 Perf: Fix detection of Krait implementation events
Bug fix to correctly disallow non-venum and non-krait events.

Change-Id: I29faa3489cd4eef6b37c1ad97e81c34f80dabcc2
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-11-29 16:36:21 -05:00
Ashwin Chaugule
14da0039bf ARM: Perf: Add PMU support for Krait Pass 2
Add perf support for Krait P2 which has different base
addresses and supports counting of VeNUM events.

Change-Id: I39e6a52314f2463dfea0765c68825dd0d84dd04f
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
2011-11-28 11:38:27 -05:00
Will Deacon
1b37ca8605 ARM: perf: add PMUv2 common event definitions
The PMUv2 specification reserves a number of event encodings
for common events.

This patch adds these events to the common event enumeration
in preparation for PMUv2 cores, such as Cortex-A15.

Change-Id: Iea424bb8cb7c6ec59a565c75bd899de5b36e1f90
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
[tdas@codeaurora.org: fixup msm ARMV7_PERFCTR_PC_BRANCH_MIS_USED
is now replaced with ARMV7_PERFCTR_PC_BRANCH_PRED]
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2011-11-16 10:48:29 +05:30
Stepan Moskovchenko
a97cacb897 msm: perfevents: Fix compilation for non-SMP
Use the correct CONFIG_SMP variant.

Change-Id: I781226c7b9fdf82d86748fd09669a28113111c99
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2011-11-14 18:06:01 -08:00
Stepan Moskovchenko
c4e5c8634d msm: perfevents: Fix typo in ifdef
Change CONFIG_ARCH_MSM_SMP to CONFIG_MSM_SMP, which is the
proper macro name.

Change-Id: I5d44edf596d8c01e644febf080fe819a6df402e9
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2011-10-26 18:46:08 -07:00
Bryan Huntsman
3f2bc4d6eb Initial Contribution
msm-2.6.38: tag AU_LINUX_ANDROID_GINGERBREAD.02.03.04.00.142

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
2011-10-03 09:57:10 -07:00