summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorIgor Nabirushkin <inabirushkin@nvidia.com>2020-02-12 09:33:10 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2020-02-18 11:54:26 -0500
commit232049622b2dfb6537ea2a771557a9e0fd6e7a95 (patch)
treeb993219b97a366a8f4a5e48f882f97c0ddb2a230 /include/uapi/linux
parenta5930737168b1e194809640b92fc0af9b1f034ba (diff)
tegra-profiler: support carmel perfmon events
tegra-profiler: - Support Carmel uncore perfmon events. - Remove obsolete pl310 code. Bug 2847789 Jira DTSP-6023 Change-Id: I41209b1b6bd17ace40be1190ce84de51548d9609 Signed-off-by: Igor Nabirushkin <inabirushkin@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2293698 (cherry picked from commit f26da26a3c3ac62ad919eb8f577fdea0bf15cb68) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2294398 Reviewed-by: Roman Rybalko <rrybalko@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/tegra_profiler.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/uapi/linux/tegra_profiler.h b/include/uapi/linux/tegra_profiler.h
index 8029b75a3..d8807e637 100644
--- a/include/uapi/linux/tegra_profiler.h
+++ b/include/uapi/linux/tegra_profiler.h
@@ -1,7 +1,7 @@
1/* 1/*
2 * include/uapi/linux/tegra_profiler.h 2 * include/uapi/linux/tegra_profiler.h
3 * 3 *
4 * Copyright (c) 2013-2019, NVIDIA CORPORATION. All rights reserved. 4 * Copyright (c) 2013-2020, NVIDIA CORPORATION. All rights reserved.
5 * 5 *
6 * This program is free software; you can redistribute it and/or modify it 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, 7 * under the terms and conditions of the GNU General Public License,
@@ -20,8 +20,8 @@
20#include <linux/ioctl.h> 20#include <linux/ioctl.h>
21#include <linux/types.h> 21#include <linux/types.h>
22 22
23#define QUADD_SAMPLES_VERSION 47 23#define QUADD_SAMPLES_VERSION 48
24#define QUADD_IO_VERSION 27 24#define QUADD_IO_VERSION 28
25 25
26#define QUADD_IO_VERSION_DYNAMIC_RB 5 26#define QUADD_IO_VERSION_DYNAMIC_RB 5
27#define QUADD_IO_VERSION_RB_MAX_FILL_COUNT 6 27#define QUADD_IO_VERSION_RB_MAX_FILL_COUNT 6
@@ -46,6 +46,7 @@
46#define QUADD_IO_VERSION_SAMPLE_ALL_TASKS 25 46#define QUADD_IO_VERSION_SAMPLE_ALL_TASKS 25
47#define QUADD_IO_VERSION_EXTABLES_PID 26 47#define QUADD_IO_VERSION_EXTABLES_PID 26
48#define QUADD_IO_VERSION_SAMPLING_CNTRL 27 48#define QUADD_IO_VERSION_SAMPLING_CNTRL 27
49#define QUADD_IO_VERSION_UNCORE_EVENTS 28
49 50
50#define QUADD_SAMPLE_VERSION_THUMB_MODE_FLAG 17 51#define QUADD_SAMPLE_VERSION_THUMB_MODE_FLAG 17
51#define QUADD_SAMPLE_VERSION_GROUP_SAMPLES 18 52#define QUADD_SAMPLE_VERSION_GROUP_SAMPLES 18
@@ -76,6 +77,7 @@
76#define QUADD_SAMPLE_VERSION_MMAP_CPUID 45 77#define QUADD_SAMPLE_VERSION_MMAP_CPUID 45
77#define QUADD_SAMPLE_VERSION_PCLK_SEND_CHANGES 46 78#define QUADD_SAMPLE_VERSION_PCLK_SEND_CHANGES 46
78#define QUADD_SAMPLE_VERSION_COMM_SAMPLES 47 79#define QUADD_SAMPLE_VERSION_COMM_SAMPLES 47
80#define QUADD_SAMPLE_VERSION_UNCORE_EVENTS 48
79 81
80#define QUADD_MMAP_HEADER_VERSION 1 82#define QUADD_MMAP_HEADER_VERSION 1
81 83
@@ -185,9 +187,10 @@ enum quadd_record_type {
185 QUADD_RECORD_TYPE_HOTPLUG, 187 QUADD_RECORD_TYPE_HOTPLUG,
186}; 188};
187 189
188enum quadd_event_source { 190enum quadd_event_source_type {
189 QUADD_EVENT_SOURCE_PMU = 1, 191 QUADD_EVENT_SOURCE_PMU = 1,
190 QUADD_EVENT_SOURCE_PL310, 192 QUADD_EVENT_SOURCE_PL310,
193 QUADD_EVENT_SOURCE_CARMEL_UNCORE_PMU,
191}; 194};
192 195
193enum quadd_cpu_mode { 196enum quadd_cpu_mode {
@@ -248,6 +251,7 @@ enum {
248#define QUADD_SAMPLE_FLAG_PF_KTHREAD (1 << 6) 251#define QUADD_SAMPLE_FLAG_PF_KTHREAD (1 << 6)
249#define QUADD_SAMPLE_FLAG_URCS (1 << 7) 252#define QUADD_SAMPLE_FLAG_URCS (1 << 7)
250#define QUADD_SAMPLE_FLAG_IP64 (1 << 8) 253#define QUADD_SAMPLE_FLAG_IP64 (1 << 8)
254#define QUADD_SAMPLE_FLAG_UNCORE (1 << 9)
251 255
252struct quadd_sample_data { 256struct quadd_sample_data {
253 __u64 ip; 257 __u64 ip;
@@ -395,6 +399,7 @@ struct quadd_debug_data {
395#define QUADD_HDR_FLAG_MODE_SAMPLE_TREE (1ULL << 16) 399#define QUADD_HDR_FLAG_MODE_SAMPLE_TREE (1ULL << 16)
396#define QUADD_HDR_FLAG_MODE_TRACE_TREE (1ULL << 17) 400#define QUADD_HDR_FLAG_MODE_TRACE_TREE (1ULL << 17)
397#define QUADD_HDR_FLAG_CPUFREQ (1ULL << 18) 401#define QUADD_HDR_FLAG_CPUFREQ (1ULL << 18)
402#define QUADD_HDR_FLAG_UNCORE (1ULL << 19)
398 403
399struct quadd_header_data { 404struct quadd_header_data {
400 __u16 magic; 405 __u16 magic;
@@ -441,6 +446,7 @@ enum {
441 QUADD_PARAM_IDX_SIZE_OF_RB = 0, 446 QUADD_PARAM_IDX_SIZE_OF_RB = 0,
442 QUADD_PARAM_IDX_EXTRA = 1, 447 QUADD_PARAM_IDX_EXTRA = 1,
443 QUADD_PARAM_IDX_BT_LOWER_BOUND = 2, 448 QUADD_PARAM_IDX_BT_LOWER_BOUND = 2,
449 QUADD_PARAM_IDX_UNCORE_FREQ = 4,
444}; 450};
445 451
446#define QUADD_PARAM_EXTRA_GET_MMAP (1 << 0) 452#define QUADD_PARAM_EXTRA_GET_MMAP (1 << 0)
@@ -462,8 +468,9 @@ enum {
462#define QUADD_PARAM_EXTRA_SAMPLING_SCHED_OUT (1 << 16) 468#define QUADD_PARAM_EXTRA_SAMPLING_SCHED_OUT (1 << 16)
463 469
464enum { 470enum {
465 QUADD_EVENT_TYPE_RAW = 0, 471 QUADD_EVENT_TYPE_RAW = 0,
466 QUADD_EVENT_TYPE_HARDWARE = 1, 472 QUADD_EVENT_TYPE_HARDWARE = 1,
473 QUADD_EVENT_TYPE_RAW_CARMEL_UNCORE = 2,
467 474
468 QUADD_EVENT_TYPE_MAX, 475 QUADD_EVENT_TYPE_MAX,
469}; 476};