Commit | Line | Data |
---|---|---|
0bcbf2e3 MP |
1 | /* |
2 | * Copyright(C) 2015 Linaro Limited. All rights reserved. | |
3 | * Author: Mathieu Poirier <mathieu.poirier@linaro.org> | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify it | |
6 | * under the terms of the GNU General Public License version 2 as published by | |
7 | * the Free Software Foundation. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, but WITHOUT | |
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
12 | * more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License along with | |
15 | * this program. If not, see <http://www.gnu.org/licenses/>. | |
16 | */ | |
17 | ||
18 | #ifndef _LINUX_CORESIGHT_PMU_H | |
19 | #define _LINUX_CORESIGHT_PMU_H | |
20 | ||
21 | #define CORESIGHT_ETM_PMU_NAME "cs_etm" | |
17534ceb | 22 | #define CORESIGHT_ETM_PMU_SEED 0x10 |
0bcbf2e3 MP |
23 | |
24 | /* ETMv3.5/PTM's ETMCR config bit */ | |
25 | #define ETM_OPT_CYCACC 12 | |
26 | #define ETM_OPT_TS 28 | |
27 | ||
17534ceb MP |
28 | static inline int coresight_get_trace_id(int cpu) |
29 | { | |
30 | /* | |
31 | * A trace ID of value 0 is invalid, so let's start at some | |
32 | * random value that fits in 7 bits and go from there. Since | |
33 | * the common convention is to have data trace IDs be I(N) + 1, | |
34 | * set instruction trace IDs as a function of the CPU number. | |
35 | */ | |
36 | return (CORESIGHT_ETM_PMU_SEED + (cpu * 2)); | |
37 | } | |
38 | ||
0bcbf2e3 | 39 | #endif |