Re: [PATCH v2] hwmon: (k10temp) Add per-CCD temperature monitoring for Zen5 Turin
Guenter Roeck <[email protected]>
| Newsgroups | org.kernel.vger.linux-hwmon,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Aug 13, 2026 at 05:02:08PM +0000, Gabriel Ford wrote: > Add support for per-CCD temperature monitoring on Zen 5 Turin (EPYC 9005) > CPUs, as they fall into a separate model range with a different offset > and a higher maximum CCD count than their desktop counterparts. As such, > this patch also updates the driver to support CPUs with up to 16 CCDs. > Tested and working on an EPYC 9555P. > > Signed-off-by: Gabriel Ford <[email protected]> Seems safe enough. Applied. > --- For next time: change log goes here. Thanks, Guenter > drivers/hwmon/k10temp.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c > index de0760dc597d..43cade8c3631 100644 > --- a/drivers/hwmon/k10temp.c > +++ b/drivers/hwmon/k10temp.c > @@ -207,6 +207,10 @@ static const char *k10temp_temp_label[] = { > "Tccd10", > "Tccd11", > "Tccd12", > + "Tccd13", > + "Tccd14", > + "Tccd15", > + "Tccd16", > }; > > static int k10temp_read_labels(struct device *dev, > @@ -243,7 +247,7 @@ static int k10temp_read_temp(struct device *dev, u32 attr, int channel, > if (*val < 0 && !data->disp_negative) > *val = 0; > break; > - case 2 ... 13: /* Tccd{1-12} */ > + case 2 ... 17: /* Tccd{1-16} */ > ret = read_ccd_temp_reg(data, channel - 2, ®val); > > if (ret) > @@ -384,7 +388,11 @@ static const struct hwmon_channel_info * const k10temp_info[] = { > HWMON_T_INPUT | HWMON_T_LABEL, > HWMON_T_INPUT | HWMON_T_LABEL, > HWMON_T_INPUT | HWMON_T_LABEL, > - HWMON_T_INPUT | HWMON_T_LABEL), > + HWMON_T_INPUT | HWMON_T_LABEL, > + HWMON_T_INPUT | HWMON_T_LABEL, > + HWMON_T_INPUT | HWMON_T_LABEL, > + HWMON_T_INPUT | HWMON_T_LABEL, > + HWMON_T_INPUT | HWMON_T_LABEL), > NULL > }; > > @@ -515,6 +523,10 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) > } > } else if (boot_cpu_data.x86 == 0x1a) { > switch (boot_cpu_data.x86_model) { > + case 0x00 ... 0x2f: /* Zen5 Turin */ > + data->ccd_offset = 0x1F0; > + k10temp_get_ccd_support(data, 16); > + break; > case 0x40 ... 0x4f: /* Zen5 Ryzen Desktop */ > data->ccd_offset = 0x308; > k10temp_get_ccd_support(data, 8);