Skip to content
Commit f38ff207 authored by Robin Murphy's avatar Robin Murphy
Browse files

perf: Add driver for Arm NI-700 interconnect PMU



The Arm NI-700 Network-on-Chip Interconnect has a relatively
straightforward design with a hierarchy of voltage, power, and clock
domains, where each clock domain then contains a number of interface
units and a PMU which can monitor events thereon. As such, it begets a
relatively straightforward driver to interface those PMUs with perf.

Even more so than with arm-cmn, users will require detailed knowledge of
the wider system topology in order to meaningfully analyse anything,
since the interconnect itself cannot know what lies beyond the boundary
of each inscrutably-numbered interface. Given that, for now they are
also expected to refer to the NI-700 documentation for the relevant
event IDs to provide as well. An identifier is implemented so we can
come back and add jevents if anyone really wants to.

Signed-off-by: Robin Murphy's avatarRobin Murphy <robin.murphy@arm.com>

---
v2:
 - Add basic usage documentation
 - Use __counted_by attribute
 - Make group validation logic clearer (and drop PMU type check
   which perf_event_open() already takes care of)
 - Add retry limit to arm_ni_read_ccnt()
parent e60059b1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment