diff options
author | Lijun Pan <LIJUN.PAN@FREESCALE.COM> | 2013-06-05 16:22:09 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2013-08-07 19:38:03 -0400 |
commit | 5815c434fdb87b9e2f7d2268d29534e8b0011439 (patch) | |
tree | 267039aa47a43068e881e242d77f82bc252b4d34 /arch/powerpc/perf | |
parent | 96c3c9e78f7fe45303985cce13ce26e35afd01ba (diff) |
powerpc/perf: add 2 additional performance monitor counters for e6500 core
There are 6 counters in e6500 core instead of 4 in e500 core.
Signed-off-by: Lijun Pan <Lijun.Pan@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc/perf')
-rw-r--r-- | arch/powerpc/perf/core-fsl-emb.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/powerpc/perf/core-fsl-emb.c b/arch/powerpc/perf/core-fsl-emb.c index 0b13f74f5fb3..d35ae52c69dc 100644 --- a/arch/powerpc/perf/core-fsl-emb.c +++ b/arch/powerpc/perf/core-fsl-emb.c | |||
@@ -70,6 +70,12 @@ static unsigned long read_pmc(int idx) | |||
70 | case 3: | 70 | case 3: |
71 | val = mfpmr(PMRN_PMC3); | 71 | val = mfpmr(PMRN_PMC3); |
72 | break; | 72 | break; |
73 | case 4: | ||
74 | val = mfpmr(PMRN_PMC4); | ||
75 | break; | ||
76 | case 5: | ||
77 | val = mfpmr(PMRN_PMC5); | ||
78 | break; | ||
73 | default: | 79 | default: |
74 | printk(KERN_ERR "oops trying to read PMC%d\n", idx); | 80 | printk(KERN_ERR "oops trying to read PMC%d\n", idx); |
75 | val = 0; | 81 | val = 0; |
@@ -95,6 +101,12 @@ static void write_pmc(int idx, unsigned long val) | |||
95 | case 3: | 101 | case 3: |
96 | mtpmr(PMRN_PMC3, val); | 102 | mtpmr(PMRN_PMC3, val); |
97 | break; | 103 | break; |
104 | case 4: | ||
105 | mtpmr(PMRN_PMC4, val); | ||
106 | break; | ||
107 | case 5: | ||
108 | mtpmr(PMRN_PMC5, val); | ||
109 | break; | ||
98 | default: | 110 | default: |
99 | printk(KERN_ERR "oops trying to write PMC%d\n", idx); | 111 | printk(KERN_ERR "oops trying to write PMC%d\n", idx); |
100 | } | 112 | } |
@@ -120,6 +132,12 @@ static void write_pmlca(int idx, unsigned long val) | |||
120 | case 3: | 132 | case 3: |
121 | mtpmr(PMRN_PMLCA3, val); | 133 | mtpmr(PMRN_PMLCA3, val); |
122 | break; | 134 | break; |
135 | case 4: | ||
136 | mtpmr(PMRN_PMLCA4, val); | ||
137 | break; | ||
138 | case 5: | ||
139 | mtpmr(PMRN_PMLCA5, val); | ||
140 | break; | ||
123 | default: | 141 | default: |
124 | printk(KERN_ERR "oops trying to write PMLCA%d\n", idx); | 142 | printk(KERN_ERR "oops trying to write PMLCA%d\n", idx); |
125 | } | 143 | } |
@@ -145,6 +163,12 @@ static void write_pmlcb(int idx, unsigned long val) | |||
145 | case 3: | 163 | case 3: |
146 | mtpmr(PMRN_PMLCB3, val); | 164 | mtpmr(PMRN_PMLCB3, val); |
147 | break; | 165 | break; |
166 | case 4: | ||
167 | mtpmr(PMRN_PMLCB4, val); | ||
168 | break; | ||
169 | case 5: | ||
170 | mtpmr(PMRN_PMLCB5, val); | ||
171 | break; | ||
148 | default: | 172 | default: |
149 | printk(KERN_ERR "oops trying to write PMLCB%d\n", idx); | 173 | printk(KERN_ERR "oops trying to write PMLCB%d\n", idx); |
150 | } | 174 | } |