diff options
| author | Kan Liang <kan.liang@linux.intel.com> | 2022-01-13 14:05:54 -0800 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2022-01-18 12:09:49 +0100 |
| commit | 5a4487f9ef5ef2fdb3215cadf0a9c3e5e8678634 (patch) | |
| tree | fc7ce98acd320f6c46f8ac77bae3477f7489fe6d /arch/x86/events/intel/uncore.h | |
| parent | perf/x86/intel/lbr: Add static_branch for LBR INFO flags (diff) | |
| download | linux-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.h | 3 |
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 */ |
