xref: /linux/Documentation/admin-guide/perf/arm-ni.rst (revision 114143a595895c03fbefccfd8346fc51fb4908ed)
1*4d5a7680SRobin Murphy====================================
2*4d5a7680SRobin MurphyArm Network-on Chip Interconnect PMU
3*4d5a7680SRobin Murphy====================================
4*4d5a7680SRobin Murphy
5*4d5a7680SRobin MurphyNI-700 and friends implement a distinct PMU for each clock domain within the
6*4d5a7680SRobin Murphyinterconnect. Correspondingly, the driver exposes multiple PMU devices named
7*4d5a7680SRobin Murphyarm_ni_<x>_cd_<y>, where <x> is an (arbitrary) instance identifier and <y> is
8*4d5a7680SRobin Murphythe clock domain ID within that particular instance. If multiple NI instances
9*4d5a7680SRobin Murphyexist within a system, the PMU devices can be correlated with the underlying
10*4d5a7680SRobin Murphyhardware instance via sysfs parentage.
11*4d5a7680SRobin Murphy
12*4d5a7680SRobin MurphyEach PMU exposes base event aliases for the interface types present in its clock
13*4d5a7680SRobin Murphydomain. These require qualifying with the "eventid" and "nodeid" parameters
14*4d5a7680SRobin Murphyto specify the event code to count and the interface at which to count it
15*4d5a7680SRobin Murphy(per the configured hardware ID as reflected in the xxNI_NODE_INFO register).
16*4d5a7680SRobin MurphyThe exception is the "cycles" alias for the PMU cycle counter, which is encoded
17*4d5a7680SRobin Murphywith the PMU node type and needs no further qualification.
18