aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/events/intel/uncore.h
diff options
context:
space:
mode:
authorKan Liang <kan.liang@linux.intel.com>2022-01-13 14:05:54 -0800
committerPeter Zijlstra <peterz@infradead.org>2022-01-18 12:09:49 +0100
commit5a4487f9ef5ef2fdb3215cadf0a9c3e5e8678634 (patch)
treefc7ce98acd320f6c46f8ac77bae3477f7489fe6d /arch/x86/events/intel/uncore.h
parentperf/x86/intel/lbr: Add static_branch for LBR INFO flags (diff)
downloadlinux-5a4487f9ef5ef2fdb3215cadf0a9c3e5e8678634.tar.gz
linux-5a4487f9ef5ef2fdb3215cadf0a9c3e5e8678634.zip
perf/x86/intel/uncore: Add IMC uncore support for ADL
Current ADL uncore code only supports the legacy IMC (memory controller) free-running counters. Besides the free-running counters, ADL also supports several general purpose-counters. The general-purpose counters can also be accessed via MMIO but in a different location. Factor out __uncore_imc_init_box() with offset as a parameter. The function can be shared between ADL and TGL. The event format and the layout of the control registers are a little bit different from other uncore counters. The intel_generic_uncore_mmio_enable_event() can be shared with client IMC uncore. Expose the function. Add more PCI IDs for ADL machines. Fixes: 772ed05f3c5c ("perf/x86/intel/uncore: Add Alder Lake support") 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/1642111554-118524-1-git-send-email-kan.liang@linux.intel.com
Diffstat (limited to 'arch/x86/events/intel/uncore.h')
-rw-r--r--arch/x86/events/intel/uncore.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/events/intel/uncore.h b/arch/x86/events/intel/uncore.h
index b9687980aab6..2adeaf4de4df 100644
--- a/arch/x86/events/intel/uncore.h
+++ b/arch/x86/events/intel/uncore.h
@@ -584,10 +584,11 @@ void snb_uncore_cpu_init(void);
void nhm_uncore_cpu_init(void);
void skl_uncore_cpu_init(void);
void icl_uncore_cpu_init(void);
-void adl_uncore_cpu_init(void);
void tgl_uncore_cpu_init(void);
+void adl_uncore_cpu_init(void);
void tgl_uncore_mmio_init(void);
void tgl_l_uncore_mmio_init(void);
+void adl_uncore_mmio_init(void);
int snb_pci2phy_map_init(int devid);
/* uncore_snbep.c */