smu_cmn_send...h_params_ext(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ smu_cmn_send_smc_msg_with_params_ext(9) πŸŽ€

okay bestie, welcome to the Kernel API Manual β€” yes this is the kernel, yes it's the real deal, and yes we're gonna get through it together πŸ’…


✨ NAME ✨

smu_cmn_send_smc_msg_with_params_ext β€” literally just send an SMU message with 0..N args πŸ¦‹ like it's that girl who can do anything from zero args to N args, no cap


🌸 SYNOPSIS 🌸

int smu_cmn_send_smc_msg_with_params_ext (struct smu_context *smu , enum
smu_message_type msg , const uint32_t *params , size_t num_params ,
uint32_t *read_args , size_t num_read_args , uint32_t flags , uint32_t
timeout );

eight whole parameters, she's highkey doing the most and honestly? iconic πŸ‘‘


πŸ’– ARGUMENTS πŸ’–

okay so here's the whole cast, main character energy each and every one:

  • smu β€” pointer to an SMU context 🫢 that's the whole world she's operating in
  • msg β€” the message you're sending, like pressing send on the group chat
  • params β€” optional input argument array (yes bestie, optional)
  • num_params β€” number of input arguments in params, gotta count them fr fr
  • read_args β€” optional output argument array, for when you want the tea back πŸ’Œ
  • num_read_args β€” number of output arguments to read back
  • flags β€” message flags (SMU_MSG_FLAG_*) β€” yes with the literal star, that's the pattern, iykyk ⭐
  • timeout β€” per-message timeout in us, and 0 = use default, so no stress if you don't know, just pass the zero πŸŽ€

πŸ”₯ DESCRIPTION πŸ”₯

so the way that this helper works?? it keeps the raw protocol semantics of struct smu_msg_args while hiding all the per-call boilerplate 😭 like it's doing the boring admin so you don't have to. honestly obsessed.

it is intended for true multi-parameter messages β€” that's her whole vibe check, that's her purpose πŸ’œ

and because the kernel is a place of peace and compatibility, the legacy wrappers such as smu_cmn_send_smc_msg retain their existing single-zero-parameter behavior for compatibility 🌈 not me being emotional about backwards compatibility, it's giving stability, it's giving "we don't break things here"


πŸ‘‘ RETURN πŸ‘‘

  • 0 on success πŸ’– slay
  • -errno on failure πŸ’€ (classic, but at least it's honest)

🧚 SEE ALSO 🧚

the kernel file where all this magic lives:

./drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c

and her friends, the whole friend group πŸ“:


and that's the page!! 🌸 brought to you by the fine people over at ./drivers/gpu/drm/amd/pm/swsmu, dated October 2026, page smu_cmn_send...h_params_ext(9) β€” mwah, go send some SMU messages bestie πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from