diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/perf_event.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/perf_event.c b/arch/sh/kernel/cpu/sh4a/perf_event.c index eddc21973fa1..b8b873d8d6b5 100644 --- a/arch/sh/kernel/cpu/sh4a/perf_event.c +++ b/arch/sh/kernel/cpu/sh4a/perf_event.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * Performance events support for SH-4A performance counters | 2 | * Performance events support for SH-4A performance counters |
3 | * | 3 | * |
4 | * Copyright (C) 2009 Paul Mundt | 4 | * Copyright (C) 2009, 2010 Paul Mundt |
5 | * | 5 | * |
6 | * This file is subject to the terms and conditions of the GNU General Public | 6 | * This file is subject to the terms and conditions of the GNU General Public |
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
@@ -22,7 +22,25 @@ | |||
22 | #define CCBR_CMDS (1 << 1) | 22 | #define CCBR_CMDS (1 << 1) |
23 | #define CCBR_PPCE (1 << 0) | 23 | #define CCBR_PPCE (1 << 0) |
24 | 24 | ||
25 | #ifdef CONFIG_CPU_SHX3 | ||
26 | /* | ||
27 | * The PMCAT location for SH-X3 CPUs was quietly moved, while the CCBR | ||
28 | * and PMCTR locations remains tentatively constant. This change remains | ||
29 | * wholly undocumented, and was simply found through trial and error. | ||
30 | * | ||
31 | * Early cuts of SH-X3 still appear to use the SH-X/SH-X2 locations, and | ||
32 | * it's unclear when this ceased to be the case. For now we always use | ||
33 | * the new location (if future parts keep up with this trend then | ||
34 | * scanning for them at runtime also remains a viable option.) | ||
35 | * | ||
36 | * The gap in the register space also suggests that there are other | ||
37 | * undocumented counters, so this will need to be revisited at a later | ||
38 | * point in time. | ||
39 | */ | ||
40 | #define PPC_PMCAT 0xfc100240 | ||
41 | #else | ||
25 | #define PPC_PMCAT 0xfc100080 | 42 | #define PPC_PMCAT 0xfc100080 |
43 | #endif | ||
26 | 44 | ||
27 | #define PMCAT_OVF3 (1 << 27) | 45 | #define PMCAT_OVF3 (1 << 27) |
28 | #define PMCAT_CNN3 (1 << 26) | 46 | #define PMCAT_CNN3 (1 << 26) |