]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge
authorKan Liang <kan.liang@linux.intel.com>
Mon, 14 Sep 2020 14:34:20 +0000 (07:34 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 24 Sep 2020 13:55:52 +0000 (15:55 +0200)
commita3b1e8451d3fd54fe0df661c2c4f983932b3c0bc
tree772bf5d986fe7d70f67f4aff8d84f70a94a83950
parent95a7fc77443328ac8b68378df8e137a044ece5e8
perf/x86/intel/uncore: Support PCIe3 unit on Snow Ridge

The Snow Ridge integrated PCIe3 uncore unit can be used to collect
performance data, e.g. utilization, between PCIe devices, plugged into
the PCIe port, and the components (in M2IOSF) responsible for
translating and managing requests to/from the device. The performance
data is very useful for analyzing the performance of PCIe devices.

The device with the PCIe3 uncore PMON units is owned by the portdrv_pci
driver. Create a PCI sub driver for the PCIe3 uncore PMON units.

Here are some difference between PCIe3 uncore unit and other uncore
pci units.
- There may be several Root Ports on a system. But the uncore counters
  only exist in the Root Port A. A user can configure the channel mask
  to collect the data from other Root Ports.
- The event format of the PCIe3 uncore unit is the same as IIO unit of
  SKX.
- The Control Register of PCIe3 uncore unit is 64 bits.
- The offset of each counters is 8, which is the same as M2M unit of
  SNR.
- New MSR addresses for unit control, counter and counter config.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/1600094060-82746-7-git-send-email-kan.liang@linux.intel.com
arch/x86/events/intel/uncore_snbep.c