diff options
| author | Igor Nabirushkin <inabirushkin@nvidia.com> | 2020-02-12 09:33:10 -0500 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2020-02-18 11:54:26 -0500 |
| commit | 232049622b2dfb6537ea2a771557a9e0fd6e7a95 (patch) | |
| tree | b993219b97a366a8f4a5e48f882f97c0ddb2a230 /include/uapi/linux | |
| parent | a5930737168b1e194809640b92fc0af9b1f034ba (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.h | 19 |
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 | ||
| 188 | enum quadd_event_source { | 190 | enum 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 | ||
| 193 | enum quadd_cpu_mode { | 196 | enum 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 | ||
| 252 | struct quadd_sample_data { | 256 | struct 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 | ||
| 399 | struct quadd_header_data { | 404 | struct 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 | ||
| 464 | enum { | 470 | enum { |
| 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 | }; |
