Re: [PATCH] hwmon: (k10temp) Add AMD family 17h model 60h probe

From: Jacky Hu
Date: Wed Jun 17 2020 - 03:19:33 EST


Hi Guenter,

By increasing the regs count from 32 to 256 and looking into the output of `cat /sys/kernel/debug/k10temp-0000\:00\:18.3/svi`
There is some data from 0x05a300 - 0x05a330
Do you have any idea how we can guess the offset for this model?

0x05a000: 00000000 00000000 00000000 00000000
0x05a010: 00000000 00000000 00000000 00000000
0x05a020: 00000000 00000000 00000000 00000000
0x05a030: 00000000 00000000 00000000 00000000
0x05a040: 00000000 00000000 00000000 00000000
0x05a050: 00000000 00000000 00000000 00000000
0x05a060: 00000000 00000000 00000000 00000000
0x05a070: 00000000 00000000 00000000 00000000
0x05a080: 00000000 00000000 00000000 00000000
0x05a090: 00000000 00000000 00000000 00000000
0x05a0a0: 00000000 00000000 00000000 00000000
0x05a0b0: 00000000 00000000 00000000 00000000
0x05a0c0: 00000000 00000000 00000000 00000000
0x05a0d0: 00000000 00000000 00000000 00000000
0x05a0e0: 00000000 00000000 00000000 00000000
0x05a0f0: 00000000 00000000 00000000 00000000
0x05a100: 00000000 00000000 00000000 00000000
0x05a110: 00000000 00000000 00000000 00000000
0x05a120: 00000000 00000000 00000000 00000000
0x05a130: 00000000 00000000 00000000 00000000
0x05a140: 00000000 00000000 00000000 00000000
0x05a150: 00000000 00000000 00000000 00000000
0x05a160: 00000000 00000000 00000000 00000000
0x05a170: 00000000 00000000 00000000 00000000
0x05a180: 00000000 00000000 00000000 00000000
0x05a190: 00000000 00000000 00000000 00000000
0x05a1a0: 00000000 00000000 00000000 00000000
0x05a1b0: 00000000 00000000 00000000 00000000
0x05a1c0: 00000000 00000000 00000000 00000000
0x05a1d0: 00000000 00000000 00000000 00000000
0x05a1e0: 00000000 00000000 00000000 00000000
0x05a1f0: 00000000 00000000 00000000 00000000
0x05a200: 00000000 00000000 00000000 00000000
0x05a210: 00000000 00000000 00000000 00000000
0x05a220: 00000000 00000000 00000000 00000000
0x05a230: 00000000 00000000 00000000 00000000
0x05a240: 00000000 00000000 00000000 00000000
0x05a250: 00000000 00000000 00000000 00000000
0x05a260: 00000000 00000000 00000000 00000000
0x05a270: 00000000 00000000 00000000 00000000
0x05a280: 00000000 00000000 00000000 00000000
0x05a290: 00000000 00000000 00000000 00000000
0x05a2a0: 00000000 00000000 00000000 00000000
0x05a2b0: 00000000 00000000 00000000 00000000
0x05a2c0: 00000000 00000000 00000000 00000000
0x05a2d0: 00000000 00000000 00000000 00000000
0x05a2e0: 00000000 00000000 00000000 00000000
0x05a2f0: 00000000 00000000 00000000 00000000
0x05a300: 00000000 00000001 00000000 00002710
0x05a310: 00000000 00000008 0000000e 00000000
0x05a320: 00000001 0000c000 00000000 0000000b
0x05a330: 00000001 00000000 00000000 00000000
0x05a340: 00000000 00000000 00000000 00000000
0x05a350: 00000000 00000000 00000000 00000000
0x05a360: 00000000 00000000 00000000 00000000
0x05a370: 00000000 00000000 00000000 00000000
0x05a380: 00000000 00000000 00000000 00000000
0x05a390: 00000000 00000000 00000000 00000000
0x05a3a0: 00000000 00000000 00000000 00000000
0x05a3b0: 00000000 00000000 00000000 00000000
0x05a3c0: 00000000 00000000 00000000 00000000
0x05a3d0: 00000000 00000000 00000000 00000000
0x05a3e0: 00000000 00000000 00000000 00000000
0x05a3f0: 00000000 00000000 00000000 00000000

Thanks.
Jacky
On Tue, Jun 16, 2020 at 08:40:28PM -0700, Guenter Roeck wrote:
> On Wed, Jun 17, 2020 at 09:32:55AM +0800, Jacky Hu wrote:
> > With this patch applied, output from 4800H (idle) looks as follows:
> >
> > k10temp-pci-00c3
> > Adapter: PCI adapter
> > Vcore: 1.55 V
> > Vsoc: 1.55 V
> > Tctl: +49.6ÂC
> > Tdie: +49.6ÂC
> > Icore: 0.00 A
> > Isoc: 0.00 A
> >
> > Signed-off-by: Jacky Hu <hengqing.hu@xxxxxxxxx>
> > ---
> > drivers/hwmon/k10temp.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
> > index 8f12995ec133..287e9cf2aab9 100644
> > --- a/drivers/hwmon/k10temp.c
> > +++ b/drivers/hwmon/k10temp.c
> > @@ -583,6 +583,7 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> > k10temp_get_ccd_support(pdev, data, 4);
> > break;
> > case 0x31: /* Zen2 Threadripper */
> > + case 0x60: /* Zen2 APU */
>
> Unfortunately it is not that simple. Output above and the little data I have
> available suggests that current and voltage measurements are different on the
> APU. That means that show_current must remain false.
> This will require a separate case statement which doesn't set any flags.
>
> Guenter
>
> > case 0x71: /* Zen2 */
> > data->show_current = !is_threadripper() && !is_epyc();
> > data->cfactor[0] = CFACTOR_ICORE;
> > --
> > 2.27.0
> >