6071c469fe834ce2b24bbc0fa4520067aa890cd8
[linux-3.10.git] / drivers / misc / tegra-profiler / arm_pmu.h
1 /*
2  * drivers/misc/tegra-profiler/arm_pmu.h
3  *
4  * Copyright (c) 2014, NVIDIA CORPORATION.  All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  */
16
17 #ifndef __ARM_PMU_H
18 #define __ARM_PMU_H
19
20 #include <linux/list.h>
21
22 #define QUADD_MAX_PMU_COUNTERS  32
23
24 struct quadd_pmu_event_info {
25         int quadd_event_id;
26         int hw_value;
27
28         struct list_head list;
29 };
30
31 #define QUADD_ARCH_NAME_MAX     64
32
33 struct quadd_arch_info {
34         int type;
35         int ver;
36
37         char name[QUADD_ARCH_NAME_MAX];
38 };
39
40 struct quadd_pmu_ctx {
41         struct quadd_arch_info arch;
42
43         u32 counters_mask;
44
45         struct list_head used_events;
46
47         int l1_cache_rw;
48         unsigned int *current_map;
49 };
50
51 #endif  /* __ARM_PMU_H */