Skip to content

Commit 6d64273

Browse files
Kan LiangPeter Zijlstra
authored andcommitted
perf/x86/intel/uncore: Support more units on Granite Rapids
The same CXL PMONs support is also avaiable on GNR. Apply spr_uncore_cxlcm and spr_uncore_cxldp to GNR as well. The other units were broken on early HW samples, so they were ignored in the early enabling patch. The issue has been fixed and verified on the later production HW. Add UPI, B2UPI, B2HOT, PCIEX16 and PCIEX8 for GNR. Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Tested-by: Eric Hu <eric.hu@intel.com> Link: https://lkml.kernel.org/r/20250108143017.1793781-2-kan.liang@linux.intel.com
1 parent 3f710be commit 6d64273

File tree

1 file changed

+32
-16
lines changed

1 file changed

+32
-16
lines changed

arch/x86/events/intel/uncore_snbep.c

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6684,17 +6684,8 @@ void spr_uncore_mmio_init(void)
66846684
/* GNR uncore support */
66856685

66866686
#define UNCORE_GNR_NUM_UNCORE_TYPES 23
6687-
#define UNCORE_GNR_TYPE_15 15
6688-
#define UNCORE_GNR_B2UPI 18
6689-
#define UNCORE_GNR_TYPE_21 21
6690-
#define UNCORE_GNR_TYPE_22 22
66916687

66926688
int gnr_uncore_units_ignore[] = {
6693-
UNCORE_SPR_UPI,
6694-
UNCORE_GNR_TYPE_15,
6695-
UNCORE_GNR_B2UPI,
6696-
UNCORE_GNR_TYPE_21,
6697-
UNCORE_GNR_TYPE_22,
66986689
UNCORE_IGNORE_END
66996690
};
67006691

@@ -6703,6 +6694,31 @@ static struct intel_uncore_type gnr_uncore_ubox = {
67036694
.attr_update = uncore_alias_groups,
67046695
};
67056696

6697+
static struct intel_uncore_type gnr_uncore_pciex8 = {
6698+
SPR_UNCORE_PCI_COMMON_FORMAT(),
6699+
.name = "pciex8",
6700+
};
6701+
6702+
static struct intel_uncore_type gnr_uncore_pciex16 = {
6703+
SPR_UNCORE_PCI_COMMON_FORMAT(),
6704+
.name = "pciex16",
6705+
};
6706+
6707+
static struct intel_uncore_type gnr_uncore_upi = {
6708+
SPR_UNCORE_PCI_COMMON_FORMAT(),
6709+
.name = "upi",
6710+
};
6711+
6712+
static struct intel_uncore_type gnr_uncore_b2upi = {
6713+
SPR_UNCORE_PCI_COMMON_FORMAT(),
6714+
.name = "b2upi",
6715+
};
6716+
6717+
static struct intel_uncore_type gnr_uncore_b2hot = {
6718+
.name = "b2hot",
6719+
.attr_update = uncore_alias_groups,
6720+
};
6721+
67066722
static struct intel_uncore_type gnr_uncore_b2cmi = {
67076723
SPR_UNCORE_PCI_COMMON_FORMAT(),
67086724
.name = "b2cmi",
@@ -6727,21 +6743,21 @@ static struct intel_uncore_type *gnr_uncores[UNCORE_GNR_NUM_UNCORE_TYPES] = {
67276743
&gnr_uncore_ubox,
67286744
&spr_uncore_imc,
67296745
NULL,
6746+
&gnr_uncore_upi,
67306747
NULL,
67316748
NULL,
67326749
NULL,
6750+
&spr_uncore_cxlcm,
6751+
&spr_uncore_cxldp,
67336752
NULL,
6734-
NULL,
6735-
NULL,
6736-
NULL,
6737-
NULL,
6753+
&gnr_uncore_b2hot,
67386754
&gnr_uncore_b2cmi,
67396755
&gnr_uncore_b2cxl,
6740-
NULL,
6756+
&gnr_uncore_b2upi,
67416757
NULL,
67426758
&gnr_uncore_mdf_sbo,
6743-
NULL,
6744-
NULL,
6759+
&gnr_uncore_pciex16,
6760+
&gnr_uncore_pciex8,
67456761
};
67466762

67476763
static struct freerunning_counters gnr_iio_freerunning[] = {

0 commit comments

Comments
 (0)