From: Kan Liang <[email protected]> Add new model number for Icelake desktop and server to perf.
The data source encoding for Icelake server is the same as Skylake server. Signed-off-by: Kan Liang <[email protected]> --- arch/x86/events/intel/core.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c index 546d13e436aa..c915afdaaba6 100644 --- a/arch/x86/events/intel/core.c +++ b/arch/x86/events/intel/core.c @@ -4940,6 +4940,9 @@ __init int intel_pmu_init(void) break; case INTEL_FAM6_ICELAKE_MOBILE: + case INTEL_FAM6_ICELAKE_DESKTOP: + case INTEL_FAM6_ICELAKE_X: + case INTEL_FAM6_ICELAKE_XEON_D: x86_pmu.late_ack = true; memcpy(hw_cache_event_ids, skl_hw_cache_event_ids, sizeof(hw_cache_event_ids)); memcpy(hw_cache_extra_regs, skl_hw_cache_extra_regs, sizeof(hw_cache_extra_regs)); @@ -4962,7 +4965,9 @@ __init int intel_pmu_init(void) x86_pmu.cpu_events = get_icl_events_attrs(); x86_pmu.rtm_abort_event = X86_CONFIG(.event=0xca, .umask=0x02); x86_pmu.lbr_pt_coexist = true; - intel_pmu_pebs_data_source_skl(false); + intel_pmu_pebs_data_source_skl( + (boot_cpu_data.x86_model == INTEL_FAM6_ICELAKE_X) || + (boot_cpu_data.x86_model == INTEL_FAM6_ICELAKE_XEON_D)); pr_cont("Icelake events, "); name = "icelake"; break; -- 2.14.5

