TencentOS-kernel/arch
Kim Phillips 5dbc635ccc perf/amd/uncore: Add support for Family 19h L3 PMU
Family 19h introduces change in slice, core and thread specification in
its L3 Performance Event Select (ChL3PmcCfg) h/w register. The change is
incompatible with Family 17h's version of the register.

Introduce a new path in l3_thread_slice_mask() to do things differently
for Family 19h vs. Family 17h, otherwise the new hardware doesn't get
programmed correctly.

Instead of a linear core--thread bitmask, Family 19h takes an encoded
core number, and a separate thread mask. There are new bits that are set
for all cores and all slices, of which only the latter is used, since
the driver counts events for all slices on behalf of the specified CPU.

Also update amd_uncore_init() to base its L2/NB vs. L3/Data Fabric mode
decision based on Family 17h or above, not just 17h and 18h: the Family
19h Data Fabric PMC is compatible with the Family 17h DF PMC.

 [ bp: Touchups. ]

Signed-off-by: Kim Phillips <kim.phillips@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200313231024.17601-3-kim.phillips@amd.com
2021-09-23 19:21:43 +08:00
..
alpha alpha: fix annotation of io{read,write}{16,32}be() 2021-03-16 16:34:34 +08:00
arc arc: kernel: Return -EFAULT if copy_to_user() fails 2021-05-20 16:07:08 +08:00
arm ARM: dts: uniphier: Change phy-mode to RGMII-ID to enable delay pins for RTL8211E 2021-05-20 16:08:00 +08:00
arm64 ampere/arm64: Work around Ampere Altra erratum #82288 PCIE_65 2021-07-12 08:57:22 +00:00
c6x Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
csky csky: change a Kconfig symbol name to fix e1000 build error 2021-05-20 16:07:15 +08:00
h8300 h8300: fix PREEMPTION build, TI_PRE_COUNT undefined 2021-04-12 12:52:05 +08:00
hexagon hexagon: define ioremap_uc 2021-03-16 16:27:29 +08:00
ia64 ia64: fix discontig.c section mismatches 2021-05-20 16:07:15 +08:00
m68k m68k: mvme147,mvme16x: Don't wipe PCC timer config bits 2021-05-20 16:07:48 +08:00
microblaze Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
mips MIPS: pci-legacy: stop using of_pci_range_to_resource 2021-05-20 16:07:58 +08:00
nds32 nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff 2021-05-20 16:06:56 +08:00
nios2 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
openrisc openrisc: Fix issue with get_user for 64-bit values 2021-03-16 16:39:36 +08:00
parisc parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers 2021-05-20 16:06:56 +08:00
powerpc powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add') 2021-05-20 16:08:00 +08:00
riscv riscv: Fix spelling mistake "SPARSEMEM" to "SPARSMEM" 2021-05-20 16:07:11 +08:00
s390 KVM: s390: split kvm_s390_real_to_abs 2021-05-20 16:07:43 +08:00
sh sh: dma: fix kconfig dependency for G2_DMA 2021-04-12 12:51:39 +08:00
sparc sparc64: Fix opcode filtering in handling of no fault loads 2021-04-12 12:53:23 +08:00
um um: mm: check more comprehensively for stub changes 2021-04-12 12:52:40 +08:00
unicore32 Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
x86 perf/amd/uncore: Add support for Family 19h L3 PMU 2021-09-23 19:21:43 +08:00
xtensa xtensa: move coprocessor_flush to the .text section 2021-05-20 16:06:49 +08:00
.gitignore Init Repo base on linux 5.4.32 long term, and add base tlinux kernel interfaces. 2021-03-16 11:01:34 +08:00
Kconfig Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS" 2021-03-16 16:43:47 +08:00