drivers/perf: hisi: add driver for HNS3 PMU
authorGuangbin Huang <huangguangbin2@huawei.com>
Tue, 28 Jun 2022 06:34:19 +0000 (14:34 +0800)
committerWill Deacon <will@kernel.org>
Wed, 6 Jul 2022 10:25:53 +0000 (11:25 +0100)
commit66637ab137b44914356a9dc7a9b3f8ebcf0b0695
treed4255604eb613e60b12723a21ca43b494ae18d72
parent39915b6b5fc209c9262b32ec754b3838550f2a1f
drivers/perf: hisi: add driver for HNS3 PMU

HNS3(HiSilicon Network System 3) PMU is RCiEP device in HiSilicon SoC NIC,
supports collection of performance statistics such as bandwidth, latency,
packet rate and interrupt rate.

NIC of each SICL has one PMU device for it. Driver registers each PMU
device to perf, and exports information of supported events, filter mode of
each event, bdf range, hardware clock frequency, identifier and so on via
sysfs.

Each PMU device has its own registers of control, counters and interrupt,
and it supports 8 hardware events, each hardward event has its own
registers for configuration, counters and interrupt.

Filter options contains:
config       - select event
port         - select physical port of nic
tc           - select tc(must be used with port)
func         - select PF/VF
queue        - select queue of PF/VF(must be used with func)
intr         - select interrupt number(must be used with func)
global       - select all functions of IO DIE

Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Reviewed-by: John Garry <john.garry@huawei.com>
Reviewed-by: Shaokun Zhang <zhangshaokun@hisilicon.com>
Link: https://lore.kernel.org/r/20220628063419.38514-3-huangguangbin2@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
MAINTAINERS
drivers/perf/hisilicon/Kconfig
drivers/perf/hisilicon/Makefile
drivers/perf/hisilicon/hns3_pmu.c [new file with mode: 0644]
include/linux/cpuhotplug.h