perf/x86/intel/uncore: Add Sapphire Rapids server IRP support
The IRP is responsible for maintaining coherency for the IIO traffic targeting coherent memory. The layout of the control registers for a IRP uncore unit is a little bit different from the generic one. Factor out SPR_UNCORE_COMMON_FORMAT, which can be reused by the following uncore units. Signed-off-by: Kan Liang <kan.liang@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Andi Kleen <ak@linux.intel.com> Link: https://lore.kernel.org/r/1625087320-194204-5-git-send-email-kan.liang@linux.intel.com
This commit is contained in:
Родитель
3ba7095bea
Коммит
e199eb5131
|
@ -5603,12 +5603,37 @@ static struct intel_uncore_type spr_uncore_iio = {
|
|||
.format_group = &snr_uncore_iio_format_group,
|
||||
};
|
||||
|
||||
static struct attribute *spr_uncore_raw_formats_attr[] = {
|
||||
&format_attr_event.attr,
|
||||
&format_attr_umask_ext4.attr,
|
||||
&format_attr_edge.attr,
|
||||
&format_attr_inv.attr,
|
||||
&format_attr_thresh8.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const struct attribute_group spr_uncore_raw_format_group = {
|
||||
.name = "format",
|
||||
.attrs = spr_uncore_raw_formats_attr,
|
||||
};
|
||||
|
||||
#define SPR_UNCORE_COMMON_FORMAT() \
|
||||
.event_mask = SNBEP_PMON_RAW_EVENT_MASK, \
|
||||
.event_mask_ext = SPR_RAW_EVENT_MASK_EXT, \
|
||||
.format_group = &spr_uncore_raw_format_group
|
||||
|
||||
static struct intel_uncore_type spr_uncore_irp = {
|
||||
SPR_UNCORE_COMMON_FORMAT(),
|
||||
.name = "irp",
|
||||
|
||||
};
|
||||
|
||||
#define UNCORE_SPR_NUM_UNCORE_TYPES 12
|
||||
|
||||
static struct intel_uncore_type *spr_uncores[UNCORE_SPR_NUM_UNCORE_TYPES] = {
|
||||
&spr_uncore_chabox,
|
||||
&spr_uncore_iio,
|
||||
NULL,
|
||||
&spr_uncore_irp,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
|
|
Загрузка…
Ссылка в новой задаче