diff options
author | Saravanan Palanisamy <saravanan.palanisamy@intel.com> | 2020-05-15 20:40:34 +0300 |
---|---|---|
committer | Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com> | 2021-10-20 01:10:37 +0300 |
commit | f0d3d1f57ec93c1acd390137b7a2cd704f54a770 (patch) | |
tree | 210611fbb95ee8d7f192fe3def198c68a1ac5e7d | |
parent | 353ca49aeb4359fe0e35f90b07b1cc8dad438e97 (diff) | |
download | linux-f0d3d1f57ec93c1acd390137b7a2cd704f54a770.tar.xz |
mfd: peci: Add ICX-D generation info
This commit adds CPU generation info for ICX-D Xeon family.
Signed-off-by: Saravanan Palanisamy <saravanan.palanisamy@intel.com>
Signed-off-by: Anoop S <anoopx.s@intel.com>
-rw-r--r-- | drivers/hwmon/peci-cputemp.c | 1 | ||||
-rw-r--r-- | drivers/hwmon/peci-dimmtemp.c | 2 | ||||
-rw-r--r-- | drivers/mfd/intel-peci-client.c | 6 | ||||
-rw-r--r-- | include/linux/mfd/intel-peci-client.h | 5 |
4 files changed, 14 insertions, 0 deletions
diff --git a/drivers/hwmon/peci-cputemp.c b/drivers/hwmon/peci-cputemp.c index c1b842069168..c5d92d1d2c25 100644 --- a/drivers/hwmon/peci-cputemp.c +++ b/drivers/hwmon/peci-cputemp.c @@ -333,6 +333,7 @@ static int check_resolved_cores(struct peci_cputemp *priv) /* Get the RESOLVED_CORES register value */ switch (priv->gen_info->model) { case INTEL_FAM6_ICELAKE_X: + case INTEL_FAM6_ICELAKE_XD: msg.addr = priv->mgr->client->addr; msg.device = 30; msg.function = 3; diff --git a/drivers/hwmon/peci-dimmtemp.c b/drivers/hwmon/peci-dimmtemp.c index f5a778f52beb..8b3a265355e0 100644 --- a/drivers/hwmon/peci-dimmtemp.c +++ b/drivers/hwmon/peci-dimmtemp.c @@ -41,6 +41,7 @@ static const u8 support_model[] = { INTEL_FAM6_SKYLAKE_X, INTEL_FAM6_SKYLAKE_XD, INTEL_FAM6_ICELAKE_X, + INTEL_FAM6_ICELAKE_XD, }; static inline int read_ddr_dimm_temp_config(struct peci_dimmtemp *priv, @@ -73,6 +74,7 @@ static int get_dimm_temp(struct peci_dimmtemp *priv, int dimm_no) switch (priv->gen_info->model) { case INTEL_FAM6_ICELAKE_X: + case INTEL_FAM6_ICELAKE_XD: re_msg.addr = priv->mgr->client->addr; re_msg.rx_len = 4; re_msg.msg_type = PECI_ENDPTCFG_TYPE_LOCAL_PCI; diff --git a/drivers/mfd/intel-peci-client.c b/drivers/mfd/intel-peci-client.c index 1b96cefb8563..9b4ed8b0d4ca 100644 --- a/drivers/mfd/intel-peci-client.c +++ b/drivers/mfd/intel-peci-client.c @@ -56,6 +56,12 @@ static const struct cpu_gen_info cpu_gen_info_table[] = { .core_mask_bits = CORE_MASK_BITS_ON_ICX, .chan_rank_max = CHAN_RANK_MAX_ON_ICX, .dimm_idx_max = DIMM_IDX_MAX_ON_ICX }, + { /* Icelake Xeon D */ + .family = INTEL_FAM6, + .model = INTEL_FAM6_ICELAKE_XD, + .core_mask_bits = CORE_MASK_BITS_ON_ICXD, + .chan_rank_max = CHAN_RANK_MAX_ON_ICXD, + .dimm_idx_max = DIMM_IDX_MAX_ON_ICXD }, }; static int peci_client_get_cpu_gen_info(struct peci_client_manager *priv) diff --git a/include/linux/mfd/intel-peci-client.h b/include/linux/mfd/intel-peci-client.h index 1303e3f93c33..55dec5be3245 100644 --- a/include/linux/mfd/intel-peci-client.h +++ b/include/linux/mfd/intel-peci-client.h @@ -19,6 +19,7 @@ #define INTEL_FAM6_SKYLAKE_X 0x55 #define INTEL_FAM6_SKYLAKE_XD 0x56 #define INTEL_FAM6_ICELAKE_X 0x6A +#define INTEL_FAM6_ICELAKE_XD 0x6C #endif #define INTEL_FAM6 6 /* P6 (Pentium Pro and later) */ @@ -43,6 +44,10 @@ #define CHAN_RANK_MAX_ON_ICX 8 /* Max number of channel ranks on Icelake */ #define DIMM_IDX_MAX_ON_ICX 2 /* Max DIMM index per channel on Icelake */ +#define CORE_MASK_BITS_ON_ICXD 64 +#define CHAN_RANK_MAX_ON_ICXD 4 /* Max number of channel ranks on Icelake D */ +#define DIMM_IDX_MAX_ON_ICXD 2 /* Max DIMM index per channel on Icelake D */ + #define CORE_MASK_BITS_MAX CORE_MASK_BITS_ON_ICX #define CHAN_RANK_MAX CHAN_RANK_MAX_ON_HSX #define DIMM_IDX_MAX DIMM_IDX_MAX_ON_HSX |