summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorArto Merilainen <amerilainen@nvidia.com>2017-10-17 03:28:59 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-10-19 15:36:55 -0400
commit8d4623b8b28054dfad649b0ffd8aed8e2595de32 (patch)
treebdbf0eb632ffea7852a9924687584a42ccb7e43b /include/uapi/linux
parent8ae44c1e585670db44aee55a1902320e0aa39546 (diff)
video: tegra: host: Add eventlib support
This change adds support for eventlib completion events. Eventlib is a library that is intended to interface with Tegra System Profiler to deliver information about e.g. task start and completion events. Bug 1996639 Change-Id: Ia5efcfb7ce54b7ee7822d6d5a153369b5a4ae535 Signed-off-by: Arto Merilainen <amerilainen@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1580285 Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/nvhost_events.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/include/uapi/linux/nvhost_events.h b/include/uapi/linux/nvhost_events.h
new file mode 100644
index 000000000..1935f6edd
--- /dev/null
+++ b/include/uapi/linux/nvhost_events.h
@@ -0,0 +1,71 @@
1/*
2 * Eventlib interface for PVA
3 *
4 * Copyright (c) 2016-2017, 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 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef NVHOST_EVENTS_H
20#define NVHOST_EVENTS_H
21
22enum {
23 NVHOST_SCHEMA_VERSION = 1
24};
25
26#define NVHOST_EVENT_PROVIDER_NAME "nvhost"
27
28/* Marks that the task is moving to execution */
29struct nvhost_task_start {
30 /* Engine class ID */
31 u32 class_id;
32
33 /* Syncpoint ID */
34 u32 syncpt_id;
35
36 /* Threshold for task completion */
37 u32 syncpt_thresh;
38} __packed;
39
40/* Marks that the task is completed */
41struct nvhost_task_end {
42 /* Engine class ID */
43 u32 class_id;
44
45 /* Syncpoint ID */
46 u32 syncpt_id;
47
48 /* Threshold for task completion */
49 u32 syncpt_thresh;
50} __packed;
51
52enum {
53 /* struct nvhost_task_start */
54 NVHOST_TASK_START = 0,
55
56 /* struct nvhost_task_end */
57 NVHOST_TASK_END = 1,
58
59 NVHOST_NUM_EVENT_TYPES = 2
60};
61
62union nvhost_event_union {
63 struct nvhost_task_start task_start;
64 struct nvhost_task_end task_end;
65};
66
67enum {
68 NVHOST_NUM_CUSTOM_FILTER_FLAGS = 0
69};
70
71#endif /* NVHOST_EVENTS_H */