STRUCT SMU_TEMP_FUNCS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct smu_temp_funcs β€” bestie, this is the callbacks used to get temperature data. That's it, that's the whole vibe: a lil struct of function pointers whose entire job is temperature gossip πŸ’–


✨ SYNOPSIS ✨

struct smu_temp_funcs {
    ssize_t (*get_temp_metrics)(struct smu_context *smu, enum
smu_temp_metric_type type, void *table);
    bool (*temp_metrics_is_supported)(struct smu_context *smu, enum
smu_temp_metric_type type);
 };

okay and yes the wrapping in there is exactly like that, don't come for me, copy it character for character or the compiler will simply know 🫢


🫢 Members 🫢

πŸ’… get_temp_metrics

she's the one the page actually spills tea about, so listen up:

  • the job β€” calibrate the voltage/frequency curve so it fits the system's power delivery and voltage margins πŸ”₯
  • required? β€” yeah, she's required for the adaptive type. not optional, not a nice-to-have, required 😭
  • type β€” this is the temperature metrics type (baseboard/gpuboard), so it knows which board's tea we're sipping 🌑️
  • smu β€” the struct smu_context * it's riding on
  • table β€” a void *, and for the return: Size of table ⭐
and temp_metrics_is_supported is right there in the struct too β€” a bool taking a struct smu_context *smu and an enum smu_temp_metric_type type β€” but this page doesn't hand out a description for her, so I'm not out here making one up. no cap, no invented lore πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

go read these next, they're the friend group:

  • Kernel file ./drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h β€” the home base 🏠
  • struct smu_msg_config(9)
  • struct smu_msg_args(9)
  • struct smu_msg_ops(9)
  • struct smu_msg_ctl(9)
  • struct pptable_funcs(9)
  • smu_memcpy_trailing(9)

and that's the whole page, bestie!! πŸ’œ she lives at ./drivers/gpu/drm/amd/pm/swsmu... and this cutie is dated October 2026, filed under struct smu_temp_funcs(9) in the Kernel API Manual β€” slay, go read your temperature callbacks, ily πŸŽ€βœ¨

πŸ“¦ where this page comes from