summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/pmc.c
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2007-01-29 06:25:57 +0300
committerPaul Mackerras <paulus@samba.org>2007-02-07 06:03:19 +0300
commit6529c13dfe413e437ad1ed0e97783dcf69137114 (patch)
tree4042f247433dd413a196764d6b3b74f05568d8e3 /arch/powerpc/kernel/pmc.c
parent7583b6e424ebaa278342f6a8c2a61211af56dad1 (diff)
downloadlinux-6529c13dfe413e437ad1ed0e97783dcf69137114.tar.xz
[POWERPC] PA6T PMC support
Support for PA6T-style PMC registers. PMCs are completely implementation-dependent on PPC, and PA6T numbers them differently from the IBM model. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/pmc.c')
-rw-r--r--arch/powerpc/kernel/pmc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/pmc.c b/arch/powerpc/kernel/pmc.c
index e40f6ddd98a4..24d7b7c99bb9 100644
--- a/arch/powerpc/kernel/pmc.c
+++ b/arch/powerpc/kernel/pmc.c
@@ -17,6 +17,7 @@
#include <linux/module.h>
#include <asm/processor.h>
+#include <asm/cputable.h>
#include <asm/pmc.h>
#ifndef MMCR0_PMA0
@@ -28,7 +29,8 @@ static void dummy_perf(struct pt_regs *regs)
#if defined(CONFIG_FSL_BOOKE) && !defined(CONFIG_E200)
mtpmr(PMRN_PMGC0, mfpmr(PMRN_PMGC0) & ~PMGC0_PMIE);
#elif defined(CONFIG_PPC64) || defined(CONFIG_6xx)
- mtspr(SPRN_MMCR0, mfspr(SPRN_MMCR0) & ~(MMCR0_PMXE|MMCR0_PMA0));
+ if (cur_cpu_spec->pmc_type == PPC_PMC_IBM)
+ mtspr(SPRN_MMCR0, mfspr(SPRN_MMCR0) & ~(MMCR0_PMXE|MMCR0_PMA0));
#else
mtspr(SPRN_MMCR0, mfspr(SPRN_MMCR0) & ~MMCR0_PMXE);
#endif