Skip to content

Strix Halo (1Ah/70h): Tccd readings are ~149°C or 0°C, Tdie/Tctl fine; driver also does not auto-bind at boot #10

Description

@estrizhok

Summary

On AMD Ryzen AI Max+ 395 (Strix Halo, Family 1Ah Model 70h), zenpower5 detects the CPU and reports correct Tdie / Tctl / RAPL_P_Package, but the per-CCD temperatures are clearly wrong — most slots read 0.0°C, and the ones that do return a value sit at ~149°C (which is hotter than Tjmax and well above the real die temperature at idle).

Separately: the driver does not auto-bind to the PCI device at module load; manual bind via sysfs is required each boot.

System

  • CPU: AMD Ryzen AI Max+ 395 w/ Radeon 8060S (Strix Halo)
  • CPU family / model: 26 / 112 (i.e. 1Ah / 70h)
  • Data Fabric F3 PCI ID: [1022:12bb] at 0000:00:18.3
  • Kernel: 6.17.0-22-generic (Ubuntu 25.10)
  • zenpower5: 0.5.0 (master, installed via make dkms-install)

sensors output

zenpower-pci-00c3
Adapter: PCI adapter
Tdie:            +39.4°C  (high = +95.0°C)
Tctl:            +39.4°C
Tccd1:          +149.8°C
Tccd2:            +0.0°C
Tccd3:            +0.0°C
Tccd4:            +0.0°C
Tccd5:          +149.5°C
Tccd6:            +0.0°C
Tccd7:            +0.0°C
Tccd8:            +0.0°C
RAPL_P_Package:   5.73 W

Tdie / Tctl track reality (machine is idle). The pattern — nonzero readings in slots 1 and 5, zero elsewhere — suggests the driver is stepping through 8 CCD slots assuming the Zen 2/3 layout, but Strix Halo's die topology is different (two CCDs, not eight). The ~149°C values from the "real" slots look like garbage bits rather than a valid temperature.

dmesg

[    3.808207] zenpower: loading out-of-tree module taints kernel.
[  327.681275] zenpower 0000:00:18.3: Detected Zen5 Strix Halo (1Ah/70h)
[  327.681283] zenpower 0000:00:18.3: Measurement methods:
[  327.681284] zenpower 0000:00:18.3:   Power: RAPL MSRs (Package only)
[  327.681285] zenpower 0000:00:18.3:   Core voltage/current: SVI2 via SMN (addr 0x00073010, ZEN2 formula)
[  327.681286] zenpower 0000:00:18.3:   SoC voltage/current: SVI2 via SMN (addr 0x00073014, ZEN2 formula)
[  327.681287] zenpower 0000:00:18.3:   Tctl temperature: SMN register (MSR 0x59800)
[  327.681288] zenpower 0000:00:18.3:   CCD temperatures: SMN registers (base 0x00059b08, 8 CCDs)

Note the timestamp: zenpower loaded at boot (3.8s) but zenpower_probe did not run until 327s — that was when I manually ran echo 0000:00:18.3 > /sys/bus/pci/drivers/zenpower/bind. Without that manual step, the driver is registered but never binds, so sensors shows nothing from it.

k10temp is blacklisted via /etc/modprobe.d/zenpower.conf, so the device is unbound at boot before zenpower loads — the auto-bind failure is not a conflict with k10temp.

Expected

  • Tccd readings either reflect real CCD temperatures, or (if per-CCD SMN layout is not known for Strix Halo) the sensors are suppressed rather than showing 0.0°C / 149°C.
  • Driver auto-binds to [1022:12bb] at module load, so sensors works on reboot without manual bind.

Notes

  • SVI2 formula is flagged in the probe output as "ZEN2 formula" — Strix Halo uses SVI3, which likely also requires a different approach (mentioned in the README as not yet supported). That part is not reported in sensors, so I can't tell if it's bogus too.
  • Happy to test patches or dump SMN registers if that's helpful — let me know what would be useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions