smu_cmn_send...h_params_ext(9)
π 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 inmsgβ the message you're sending, like pressing send on the group chatparamsβ optional input argument array (yes bestie, optional)num_paramsβ number of input arguments inparams, gotta count them fr frread_argsβ optional output argument array, for when you want the tea back πnum_read_argsβ number of output arguments to read backflagsβ message flags (SMU_MSG_FLAG_*) β yes with the literal star, that's the pattern, iykyk βtimeoutβ per-message timeout in us, and0= 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 π
0on success π slay-errnoon 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 π:
smu_cmn_wait_for_response(9)smu_cmn_send_smc_msg_with_param(9)smu_msg_v1_send_msg(9)smu_msg_send_async_locked(9)smu_cmn_disable_all_features_with_exception(9)smu_cmn_get_pptable_from_firmware(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms