linux-sg2042/arch
Kan Liang cc8a853c2d perf/x86/uncore: Correct the number of CHAs on EMR
commit 6f7f984fa8 upstream.

Starting from SPR, the basic uncore PMON information is retrieved from
the discovery table (resides in an MMIO space populated by BIOS). It is
called the discovery method. The existing value of the type->num_boxes
is from the discovery table.

On some SPR variants, there is a firmware bug that makes the value from the
discovery table incorrect. We use the value from the
SPR_MSR_UNC_CBO_CONFIG MSR to replace the one from the discovery table:

   38776cc45e ("perf/x86/uncore: Correct the number of CHAs on SPR")

Unfortunately, the SPR_MSR_UNC_CBO_CONFIG isn't available for the EMR
XCC (Always returns 0), but the above firmware bug doesn't impact the
EMR XCC.

Don't let the value from the MSR replace the existing value from the
discovery table.

Fixes: 38776cc45e ("perf/x86/uncore: Correct the number of CHAs on SPR")
Reported-by: Stephane Eranian <eranian@google.com>
Reported-by: Yunying Sun <yunying.sun@intel.com>
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Yunying Sun <yunying.sun@intel.com>
Link: https://lore.kernel.org/r/20230905134248.496114-1-kan.liang@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-09-13 09:43:04 +02:00
..
alpha alpha: remove __init annotation from exported page_is_ram() 2023-08-16 18:27:31 +02:00
arc ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard 2023-07-19 16:21:42 +02:00
arm ARM: OMAP2+: Fix -Warray-bounds warning in _pwrdm_state_switch() 2023-09-13 09:43:00 +02:00
arm64 arm64: sdei: abort running SDEI handlers during crash 2023-09-13 09:43:03 +02:00
csky csky: fix up lock_mm_and_find_vma() conversion 2023-07-01 13:16:27 +02:00
hexagon mm/fault: convert remaining simple cases to lock_mm_and_find_vma() 2023-07-01 13:16:25 +02:00
ia64 ia64/cpu: Switch to arch_cpu_finalize_init() 2023-08-08 20:03:46 +02:00
loongarch LoongArch: mm: Add p?d_leaf() definitions 2023-09-13 09:43:01 +02:00
m68k m68k: Fix invalid .section syntax 2023-09-13 09:42:21 +02:00
microblaze mm: always expand the stack with the mmap write lock held 2023-07-01 13:16:25 +02:00
mips Revert "MIPS: unhide PATA_PLATFORM" 2023-09-13 09:42:20 +02:00
nios2 mm/fault: convert remaining simple cases to lock_mm_and_find_vma() 2023-07-01 13:16:25 +02:00
openrisc mm: always expand the stack with the mmap write lock held 2023-07-01 13:16:25 +02:00
parisc parisc: Fix /proc/cpuinfo output for lscpu 2023-09-13 09:43:02 +02:00
powerpc powerpc/iommu: Fix notifiers being shared by PCI and VIO buses 2023-09-13 09:42:48 +02:00
riscv riscv: Fix build errors using binutils2.37 toolchains 2023-08-30 16:11:08 +02:00
s390 s390/ipl: add missing secure/has_secure file to ipl type 'unknown' 2023-09-13 09:43:03 +02:00
sh sh/cpu: Switch to arch_cpu_finalize_init() 2023-08-08 20:03:47 +02:00
sparc sparc/cpu: Switch to arch_cpu_finalize_init() 2023-08-08 20:03:47 +02:00
um um: Fix hostaudio build errors 2023-09-13 09:42:58 +02:00
x86 perf/x86/uncore: Correct the number of CHAs on EMR 2023-09-13 09:43:04 +02:00
xtensa xtensa: PMU: fix base address for the newer hardware 2023-09-13 09:43:01 +02:00
.gitignore
Kconfig init: Provide arch_cpu_finalize_init() 2023-08-08 20:03:46 +02:00