aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/events/intel/uncore_discovery.h
diff options
context:
space:
mode:
authorKan Liang <kan.liang@linux.intel.com>2021-06-30 14:08:31 -0700
committerPeter Zijlstra <peterz@infradead.org>2021-07-02 15:58:39 +0200
commit85f2e30f987ecc73fbb5e24eda0f36ba7f337c5c (patch)
treed4c830c50454e9b6ce0f40299362fbe0c41899ee /arch/x86/events/intel/uncore_discovery.h
parentperf/x86/intel/uncore: Add Sapphire Rapids server PCU support (diff)
downloadlinux-dev-85f2e30f987ecc73fbb5e24eda0f36ba7f337c5c.tar.xz
linux-dev-85f2e30f987ecc73fbb5e24eda0f36ba7f337c5c.zip
perf/x86/intel/uncore: Add Sapphire Rapids server IMC support
The Sapphire Rapids IMC provides the interface to the DRAM and communicates to the rest of the uncore through the M2M block. The layout of the control registers for a IMC uncore unit is a little bit different from the generic one. There is a fixed counter for IMC. So a specific format and ops are required. Expose the common MMIO 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-8-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.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/events/intel/uncore_discovery.h b/arch/x86/events/intel/uncore_discovery.h
index e836a68a8025..97232437dfb9 100644
--- a/arch/x86/events/intel/uncore_discovery.h
+++ b/arch/x86/events/intel/uncore_discovery.h
@@ -134,5 +134,11 @@ void intel_generic_uncore_msr_init_box(struct intel_uncore_box *box);
void intel_generic_uncore_msr_disable_box(struct intel_uncore_box *box);
void intel_generic_uncore_msr_enable_box(struct intel_uncore_box *box);
+void intel_generic_uncore_mmio_init_box(struct intel_uncore_box *box);
+void intel_generic_uncore_mmio_disable_box(struct intel_uncore_box *box);
+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);
+
struct intel_uncore_type **
intel_uncore_generic_init_uncores(enum uncore_access_type type_id);