mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
ARM: 5849/1: ARMv7: fix Oprofile events count
On Oprofile ARMv7 the PMNC_D bit was set to lower the PMU IRQs and so to decrease the risk of errata #628216 from appearing. The effect of setting the PMNC_D bit is that the CCNT counter is divided by 64, making the program counter events count inaccurate. The new OMAP3 r4 cores should have that errata fixed. The PMNC_D bit should not be set, this patch fixes it. Signed-off-by: Jean Pihet <jpihet@mvista.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
cdd90fb575
commit
3321c2bcea
1 changed files with 2 additions and 6 deletions
|
@ -191,12 +191,8 @@ int armv7_setup_pmnc(void)
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/* Initialize & Reset PMNC: C bit and P bit */
|
||||||
* Initialize & Reset PMNC: C bit, D bit and P bit.
|
armv7_pmnc_write(PMNC_P | PMNC_C);
|
||||||
* Note: Using a slower count for CCNT (D bit: divide by 64) results
|
|
||||||
* in a more stable system
|
|
||||||
*/
|
|
||||||
armv7_pmnc_write(PMNC_P | PMNC_C | PMNC_D);
|
|
||||||
|
|
||||||
|
|
||||||
for (cnt = CCNT; cnt < CNTMAX; cnt++) {
|
for (cnt = CCNT; cnt < CNTMAX; cnt++) {
|
||||||
|
|
Loading…
Reference in a new issue