perf/x86/intel/uncore: Switch to new Intel CPU model defines
authorTony Luck <tony.luck@intel.com>
Wed, 24 Apr 2024 18:15:01 +0000 (11:15 -0700)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 29 Apr 2024 08:30:39 +0000 (10:30 +0200)
New CPU #defines encode vendor and family as well as model.

  [ bp: Squash *three* uncore patches into one. ]

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/all/20240424181501.41557-1-tony.luck%40intel.com
arch/x86/events/intel/uncore.c
arch/x86/events/intel/uncore_nhmex.c
arch/x86/events/intel/uncore_snbep.c

index 258e2cdf28fadc8d84a0574b38c000de09df802d..419c517b8594fbdd057a0f36bc707c8b6cd8b58f 100644 (file)
@@ -1829,56 +1829,56 @@ static const struct intel_uncore_init_fun generic_uncore_init __initconst = {
 };
 
 static const struct x86_cpu_id intel_uncore_match[] __initconst = {
-       X86_MATCH_INTEL_FAM6_MODEL(NEHALEM_EP,          &nhm_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(NEHALEM,             &nhm_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(WESTMERE,            &nhm_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(WESTMERE_EP,         &nhm_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SANDYBRIDGE,         &snb_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(IVYBRIDGE,           &ivb_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(HASWELL,             &hsw_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(HASWELL_L,           &hsw_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(HASWELL_G,           &hsw_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(BROADWELL,           &bdw_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(BROADWELL_G,         &bdw_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SANDYBRIDGE_X,       &snbep_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(NEHALEM_EX,          &nhmex_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(WESTMERE_EX,         &nhmex_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(IVYBRIDGE_X,         &ivbep_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(HASWELL_X,           &hswep_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(BROADWELL_X,         &bdx_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(BROADWELL_D,         &bdx_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(XEON_PHI_KNL,        &knl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(XEON_PHI_KNM,        &knl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE,             &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE_L,           &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE_X,           &skx_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(KABYLAKE_L,          &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(KABYLAKE,            &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE_L,         &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE,           &skl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_L,           &icl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_NNPI,        &icl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE,             &icl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D,           &icx_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X,           &icx_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE_L,         &tgl_l_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE,           &tgl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ROCKETLAKE,          &rkl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE,           &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L,         &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE,          &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P,        &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S,        &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE,          &mtl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE_L,        &mtl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X,    &spr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(EMERALDRAPIDS_X,     &spr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(GRANITERAPIDS_X,     &gnr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(GRANITERAPIDS_D,     &gnr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D,      &snr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ATOM_GRACEMONT,      &adl_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ATOM_CRESTMONT_X,    &gnr_uncore_init),
-       X86_MATCH_INTEL_FAM6_MODEL(ATOM_CRESTMONT,      &gnr_uncore_init),
+       X86_MATCH_VFM(INTEL_NEHALEM_EP,         &nhm_uncore_init),
+       X86_MATCH_VFM(INTEL_NEHALEM,            &nhm_uncore_init),
+       X86_MATCH_VFM(INTEL_WESTMERE,           &nhm_uncore_init),
+       X86_MATCH_VFM(INTEL_WESTMERE_EP,        &nhm_uncore_init),
+       X86_MATCH_VFM(INTEL_SANDYBRIDGE,        &snb_uncore_init),
+       X86_MATCH_VFM(INTEL_IVYBRIDGE,          &ivb_uncore_init),
+       X86_MATCH_VFM(INTEL_HASWELL,            &hsw_uncore_init),
+       X86_MATCH_VFM(INTEL_HASWELL_L,          &hsw_uncore_init),
+       X86_MATCH_VFM(INTEL_HASWELL_G,          &hsw_uncore_init),
+       X86_MATCH_VFM(INTEL_BROADWELL,          &bdw_uncore_init),
+       X86_MATCH_VFM(INTEL_BROADWELL_G,        &bdw_uncore_init),
+       X86_MATCH_VFM(INTEL_SANDYBRIDGE_X,      &snbep_uncore_init),
+       X86_MATCH_VFM(INTEL_NEHALEM_EX,         &nhmex_uncore_init),
+       X86_MATCH_VFM(INTEL_WESTMERE_EX,        &nhmex_uncore_init),
+       X86_MATCH_VFM(INTEL_IVYBRIDGE_X,        &ivbep_uncore_init),
+       X86_MATCH_VFM(INTEL_HASWELL_X,          &hswep_uncore_init),
+       X86_MATCH_VFM(INTEL_BROADWELL_X,        &bdx_uncore_init),
+       X86_MATCH_VFM(INTEL_BROADWELL_D,        &bdx_uncore_init),
+       X86_MATCH_VFM(INTEL_XEON_PHI_KNL,       &knl_uncore_init),
+       X86_MATCH_VFM(INTEL_XEON_PHI_KNM,       &knl_uncore_init),
+       X86_MATCH_VFM(INTEL_SKYLAKE,            &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_SKYLAKE_L,          &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_SKYLAKE_X,          &skx_uncore_init),
+       X86_MATCH_VFM(INTEL_KABYLAKE_L,         &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_KABYLAKE,           &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_COMETLAKE_L,        &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_COMETLAKE,          &skl_uncore_init),
+       X86_MATCH_VFM(INTEL_ICELAKE_L,          &icl_uncore_init),
+       X86_MATCH_VFM(INTEL_ICELAKE_NNPI,       &icl_uncore_init),
+       X86_MATCH_VFM(INTEL_ICELAKE,            &icl_uncore_init),
+       X86_MATCH_VFM(INTEL_ICELAKE_D,          &icx_uncore_init),
+       X86_MATCH_VFM(INTEL_ICELAKE_X,          &icx_uncore_init),
+       X86_MATCH_VFM(INTEL_TIGERLAKE_L,        &tgl_l_uncore_init),
+       X86_MATCH_VFM(INTEL_TIGERLAKE,          &tgl_uncore_init),
+       X86_MATCH_VFM(INTEL_ROCKETLAKE,         &rkl_uncore_init),
+       X86_MATCH_VFM(INTEL_ALDERLAKE,          &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_ALDERLAKE_L,        &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE,         &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE_P,       &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_RAPTORLAKE_S,       &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_METEORLAKE,         &mtl_uncore_init),
+       X86_MATCH_VFM(INTEL_METEORLAKE_L,       &mtl_uncore_init),
+       X86_MATCH_VFM(INTEL_SAPPHIRERAPIDS_X,   &spr_uncore_init),
+       X86_MATCH_VFM(INTEL_EMERALDRAPIDS_X,    &spr_uncore_init),
+       X86_MATCH_VFM(INTEL_GRANITERAPIDS_X,    &gnr_uncore_init),
+       X86_MATCH_VFM(INTEL_GRANITERAPIDS_D,    &gnr_uncore_init),
+       X86_MATCH_VFM(INTEL_ATOM_TREMONT_D,     &snr_uncore_init),
+       X86_MATCH_VFM(INTEL_ATOM_GRACEMONT,     &adl_uncore_init),
+       X86_MATCH_VFM(INTEL_ATOM_CRESTMONT_X,   &gnr_uncore_init),
+       X86_MATCH_VFM(INTEL_ATOM_CRESTMONT,     &gnr_uncore_init),
        {},
 };
 MODULE_DEVICE_TABLE(x86cpu, intel_uncore_match);
index 92da8aaa59660e2097423eee0f018bb1f195efd7..466833478e81fb6ae624d980b9d9bbe581711a20 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Nehalem-EX/Westmere-EX uncore support */
+#include <asm/cpu_device_id.h>
 #include "uncore.h"
 
 /* NHM-EX event control */
@@ -1217,7 +1218,7 @@ static struct intel_uncore_type *nhmex_msr_uncores[] = {
 
 void nhmex_uncore_cpu_init(void)
 {
-       if (boot_cpu_data.x86_model == 46)
+       if (boot_cpu_data.x86_vfm == INTEL_NEHALEM_EX)
                uncore_nhmex = true;
        else
                nhmex_uncore_mbox.event_descs = wsmex_uncore_mbox_events;
index 2eaf0f339849b66d0d8cc7800ed9e63e85ce4bbc..74b8b21e8990be2d9a82c207b450b41a80c42231 100644 (file)
@@ -1,5 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /* SandyBridge-EP/IvyTown uncore support */
+#include <asm/cpu_device_id.h>
 #include "uncore.h"
 #include "uncore_discovery.h"
 
@@ -3285,7 +3286,7 @@ void bdx_uncore_cpu_init(void)
        uncore_msr_uncores = bdx_msr_uncores;
 
        /* Detect systems with no SBOXes */
-       if ((boot_cpu_data.x86_model == 86) || hswep_has_limit_sbox(BDX_PCU_DID))
+       if (boot_cpu_data.x86_vfm == INTEL_BROADWELL_D || hswep_has_limit_sbox(BDX_PCU_DID))
                uncore_msr_uncores[BDX_MSR_UNCORE_SBOX] = NULL;
 
        hswep_uncore_pcu.constraints = bdx_uncore_pcu_constraints;
@@ -5394,7 +5395,7 @@ static int icx_iio_get_topology(struct intel_uncore_type *type)
 static void icx_iio_set_mapping(struct intel_uncore_type *type)
 {
        /* Detect ICX-D system. This case is not supported */
-       if (boot_cpu_data.x86_model == INTEL_FAM6_ICELAKE_D) {
+       if (boot_cpu_data.x86_vfm == INTEL_ICELAKE_D) {
                pmu_clear_mapping_attr(type->attr_update, &icx_iio_mapping_group);
                return;
        }