diff options
author | Kan Liang <kan.liang@linux.intel.com> | 2021-06-30 14:08:32 -0700 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-07-02 15:58:39 +0200 |
commit | f57191edaaeb01279a88ace1be5b7230bdd8c0ab (patch) | |
tree | ea97c25405d59638195a809af1d5ca0c43efee76 /arch/x86/events/intel/uncore_discovery.h | |
parent | perf/x86/intel/uncore: Add Sapphire Rapids server IMC support (diff) | |
download | linux-dev-f57191edaaeb01279a88ace1be5b7230bdd8c0ab.tar.xz linux-dev-f57191edaaeb01279a88ace1be5b7230bdd8c0ab.zip |
perf/x86/intel/uncore: Add Sapphire Rapids server M2M support
The M2M blocks manage the interface between the mesh (operating on both
the mesh and the SMI3 protocol) and the memory controllers.
The layout of the control registers for a M2M uncore unit is a little
bit different from the generic one. So a specific format and ops are
required. Expose the common PCI ops which can be reused.
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Link: https://lore.kernel.org/r/1625087320-194204-9-git-send-email-kan.liang@linux.intel.com
Diffstat (limited to 'arch/x86/events/intel/uncore_discovery.h')
-rw-r--r-- | arch/x86/events/intel/uncore_discovery.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/events/intel/uncore_discovery.h b/arch/x86/events/intel/uncore_discovery.h index 97232437dfb9..b85655ba835b 100644 --- a/arch/x86/events/intel/uncore_discovery.h +++ b/arch/x86/events/intel/uncore_discovery.h @@ -140,5 +140,13 @@ void intel_generic_uncore_mmio_enable_box(struct intel_uncore_box *box); void intel_generic_uncore_mmio_disable_event(struct intel_uncore_box *box, struct perf_event *event); +void intel_generic_uncore_pci_init_box(struct intel_uncore_box *box); +void intel_generic_uncore_pci_disable_box(struct intel_uncore_box *box); +void intel_generic_uncore_pci_enable_box(struct intel_uncore_box *box); +void intel_generic_uncore_pci_disable_event(struct intel_uncore_box *box, + struct perf_event *event); +u64 intel_generic_uncore_pci_read_counter(struct intel_uncore_box *box, + struct perf_event *event); + struct intel_uncore_type ** intel_uncore_generic_init_uncores(enum uncore_access_type type_id); |