EDAC, {skx,i10nm}: Use CPU stepping macro to pass configurations
authorQiuxu Zhuo <qiuxu.zhuo@intel.com>
Sat, 9 May 2020 01:08:22 +0000 (09:08 +0800)
committerTony Luck <tony.luck@intel.com>
Mon, 15 Jun 2020 21:50:39 +0000 (14:50 -0700)
Use the X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS() macro to pass CPU
stepping specific configurations to {skx,i10nm}_init(), so can delete
the CPU stepping check from 10nm_init().

Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/r/20200509010822.76331-1-qiuxu.zhuo@intel.com
drivers/edac/i10nm_base.c
drivers/edac/skx_base.c

index 9b0044cd21cd57db08db89d0bbb337435785ff0f..c8d11da85becfdb9b67794f1f61c35667553f87f 100644 (file)
@@ -135,9 +135,11 @@ static struct res_config i10nm_cfg1 = {
 };
 
 static const struct x86_cpu_id i10nm_cpuids[] = {
-       X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D,      &i10nm_cfg0),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X,           &i10nm_cfg0),
-       X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_D,           &i10nm_cfg1),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(ATOM_TREMONT_D,    X86_STEPPINGS(0x0, 0x3), &i10nm_cfg0),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(ATOM_TREMONT_D,    X86_STEPPINGS(0x4, 0xf), &i10nm_cfg1),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(ICELAKE_X,         X86_STEPPINGS(0x0, 0x3), &i10nm_cfg0),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(ICELAKE_X,         X86_STEPPINGS(0x4, 0xf), &i10nm_cfg1),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(ICELAKE_D,         X86_STEPPINGS(0x0, 0xf), &i10nm_cfg1),
        {}
 };
 MODULE_DEVICE_TABLE(x86cpu, i10nm_cpuids);
@@ -264,10 +266,6 @@ static int __init i10nm_init(void)
 
        cfg = (struct res_config *)id->driver_data;
 
-       /* Newer steppings have different offset for ATOM_TREMONT_D/ICELAKE_X */
-       if (boot_cpu_data.x86_stepping >= 4)
-               cfg->busno_cfg_offset = 0xd0;
-
        rc = skx_get_hi_lo(0x09a2, off, &tolm, &tohm);
        if (rc)
                return rc;
index b907a0f4ece6cadcd0be10bec8f39e667664e7a4..2c7db95df32631edbb10f417e431296d70973c0b 100644 (file)
@@ -164,7 +164,7 @@ static struct res_config skx_cfg = {
 };
 
 static const struct x86_cpu_id skx_cpuids[] = {
-       X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE_X,   &skx_cfg),
+       X86_MATCH_INTEL_FAM6_MODEL_STEPPINGS(SKYLAKE_X, X86_STEPPINGS(0x0, 0xf), &skx_cfg),
        { }
 };
 MODULE_DEVICE_TABLE(x86cpu, skx_cpuids);