Skip to content

Commit e73bc4f

Browse files
committed
Merge branch 'for-next/perf-cn10k' into for-next/perf
* for-next/perf-cn10k: dt-bindings: perf: Add YAML schemas for Marvell CN10K LLC-TAD pmu bindings drivers: perf: Add LLC-TAD perf counter support
2 parents fc369f9 + 4cbf477 commit e73bc4f

File tree

4 files changed

+500
-0
lines changed

4 files changed

+500
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/perf/marvell-cn10k-tad.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Marvell CN10K LLC-TAD performance monitor
8+
9+
maintainers:
10+
- Bhaskara Budiredla <[email protected]>
11+
12+
description: |
13+
The Tag-and-Data units (TADs) maintain coherence and contain CN10K
14+
shared on-chip last level cache (LLC). The tad pmu measures the
15+
performance of last-level cache. Each tad pmu supports up to eight
16+
counters.
17+
18+
The DT setup comprises of number of tad blocks, the sizes of pmu
19+
regions, tad blocks and overall base address of the HW.
20+
21+
properties:
22+
compatible:
23+
const: marvell,cn10k-tad-pmu
24+
25+
reg:
26+
maxItems: 1
27+
28+
marvell,tad-cnt:
29+
description: specifies the number of tads on the soc
30+
$ref: /schemas/types.yaml#/definitions/uint32
31+
32+
marvell,tad-page-size:
33+
description: specifies the size of each tad page
34+
$ref: /schemas/types.yaml#/definitions/uint32
35+
36+
marvell,tad-pmu-page-size:
37+
description: specifies the size of page that the pmu uses
38+
$ref: /schemas/types.yaml#/definitions/uint32
39+
40+
required:
41+
- compatible
42+
- reg
43+
- marvell,tad-cnt
44+
- marvell,tad-page-size
45+
- marvell,tad-pmu-page-size
46+
47+
additionalProperties: false
48+
49+
examples:
50+
- |
51+
52+
tad {
53+
#address-cells = <2>;
54+
#size-cells = <2>;
55+
56+
tad_pmu@80000000 {
57+
compatible = "marvell,cn10k-tad-pmu";
58+
reg = <0x87e2 0x80000000 0x0 0x1000>;
59+
marvell,tad-cnt = <1>;
60+
marvell,tad-page-size = <0x1000>;
61+
marvell,tad-pmu-page-size = <0x1000>;
62+
};
63+
};

drivers/perf/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,13 @@ config ARM_DMC620_PMU
139139
Support for PMU events monitoring on the ARM DMC-620 memory
140140
controller.
141141

142+
config MARVELL_CN10K_TAD_PMU
143+
tristate "Marvell CN10K LLC-TAD PMU"
144+
depends on ARM64 || (COMPILE_TEST && 64BIT)
145+
help
146+
Provides support for Last-Level cache Tag-and-data Units (LLC-TAD)
147+
performance monitors on CN10K family silicons.
148+
142149
source "drivers/perf/hisilicon/Kconfig"
143150

144151
endmenu

drivers/perf/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ obj-$(CONFIG_THUNDERX2_PMU) += thunderx2_pmu.o
1414
obj-$(CONFIG_XGENE_PMU) += xgene_pmu.o
1515
obj-$(CONFIG_ARM_SPE_PMU) += arm_spe_pmu.o
1616
obj-$(CONFIG_ARM_DMC620_PMU) += arm_dmc620_pmu.o
17+
obj-$(CONFIG_MARVELL_CN10K_TAD_PMU) += marvell_cn10k_tad_pmu.o

0 commit comments

Comments
 (0)