Commit 8404b0fb authored by Qi Liu's avatar Qi Liu Committed by Will Deacon
Browse files

drivers/perf: hisi: Add driver for HiSilicon PCIe PMU



PCIe PMU Root Complex Integrated End Point(RCiEP) device is supported
to sample bandwidth, latency, buffer occupation etc.

Each PMU RCiEP device monitors multiple Root Ports, and each RCiEP is
registered as a PMU in /sys/bus/event_source/devices, so users can
select target PMU, and use filter to do further sets.

Filtering options contains:
event     - select the event.
port      - select target Root Ports. Information of Root Ports are
            shown under sysfs.
bdf       - select requester_id of target EP device.
trig_len  - set trigger condition for starting event statistics.
trig_mode - set trigger mode. 0 means starting to statistic when bigger
            than trigger condition, and 1 means smaller.
thr_len   - set threshold for statistics.
thr_mode  - set threshold mode. 0 means count when bigger than threshold,
            and 1 means smaller.

Acked-by: default avatarKrzysztof Wilczyński <kw@linux.com>
Reviewed-by: default avatarJohn Garry <john.garry@huawei.com>
Signed-off-by: default avatarQi Liu <liuqi115@huawei.com>
Reviewed-by: default avatarShaokun Zhang <zhangshaokun@hisilicon.com>
Link: https://lore.kernel.org/r/20211202080633.2919-3-liuqi115@huawei.com


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent c8602008
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -8607,8 +8607,10 @@ F: drivers/misc/hisi_hikey_usb.c
HISILICON PMU DRIVER
M:	Shaokun Zhang <zhangshaokun@hisilicon.com>
M:	Qi Liu <liuqi115@huawei.com>
S:	Supported
W:	http://www.hisilicon.com
F:	Documentation/admin-guide/perf/hisi-pcie-pmu.rst
F:	Documentation/admin-guide/perf/hisi-pmu.rst
F:	drivers/perf/hisilicon
+9 −0
Original line number Diff line number Diff line
@@ -5,3 +5,12 @@ config HISI_PMU
	  help
	  Support for HiSilicon SoC L3 Cache performance monitor, Hydra Home
	  Agent performance monitor and DDR Controller performance monitor.

config HISI_PCIE_PMU
	tristate "HiSilicon PCIE PERF PMU"
	depends on PCI && ARM64
	help
	  Provide support for HiSilicon PCIe performance monitoring unit (PMU)
	  RCiEP devices.
	  Adds the PCIe PMU into perf events system for monitoring latency,
	  bandwidth etc.
+2 −0
Original line number Diff line number Diff line
@@ -2,3 +2,5 @@
obj-$(CONFIG_HISI_PMU) += hisi_uncore_pmu.o hisi_uncore_l3c_pmu.o \
			  hisi_uncore_hha_pmu.o hisi_uncore_ddrc_pmu.o hisi_uncore_sllc_pmu.o \
			  hisi_uncore_pa_pmu.o

obj-$(CONFIG_HISI_PCIE_PMU) += hisi_pcie_pmu.o
+948 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
@@ -225,6 +225,7 @@ enum cpuhp_state {
	CPUHP_AP_PERF_ARM_HISI_L3_ONLINE,
	CPUHP_AP_PERF_ARM_HISI_PA_ONLINE,
	CPUHP_AP_PERF_ARM_HISI_SLLC_ONLINE,
	CPUHP_AP_PERF_ARM_HISI_PCIE_PMU_ONLINE,
	CPUHP_AP_PERF_ARM_L2X0_ONLINE,
	CPUHP_AP_PERF_ARM_QCOM_L2_ONLINE,
	CPUHP_AP_PERF_ARM_QCOM_L3_ONLINE,